03716 - CALCOLATORI ELETTRONICI

Anno Accademico 2020/2021

  • Docente: Luca Roffia
  • Crediti formativi: 9
  • SSD: ING-INF/05
  • Lingua di insegnamento: Italiano
  • Moduli: Luca Roffia (Modulo 2) Luca Roffia (Modulo 1) Luca Roffia (Modulo 3)
  • Modalità didattica: Convenzionale - Lezioni in presenza (Modulo 2) Convenzionale - Lezioni in presenza (Modulo 1) Convenzionale - Lezioni in presenza (Modulo 3)
  • Campus: Cesena
  • Corso: Laurea in Ingegneria elettronica per l'energia e l'informazione (cod. 8767)

    Valido anche per Laurea in Ingegneria biomedica (cod. 9082)

Conoscenze e abilità da conseguire

Al termine del corso, lo studente dispone del metodo e degli strumenti con cui affrontare con consapevolezza il progetto di semplici sistemi a microprocessore. Lo studente impara ad analizzare e fare la sintesi di reti logiche combinatorie e sequenziali (sincrone e asincrone). Queste conoscenze costituiscono la base per lo studio delle architetture dei moderni calcolatori elettronici, delle quali lo studente ne apprende i principi generali di funzionamento, l'impatto sulle prestazioni, il progetto dell'unità di elaborazione e la mutua relazione esistente tra hardware e software. Al di là dei contenuti specifici, lo studente acquisisce una delle principali abilità che l'industria chiede oggi a un ingegnere dell'informazione, e cioè la capacità di gestire la complessità di un progetto, abituandolo alla pratica dell'astrazione, intesa come attività volta a rappresentare in modo efficace e gerarchico l'essenza del sistema di elaborazione.

Contenuti

L'insegnamento è suddiviso in tre moduli strettamente correlati: il primo è propedeutico agli altri due e il secondo è propedeutico al terzo.

Primo modulo: Codifica binaria dell'informazione. Analisi e sintesi di reti logiche combinatorie. Modello della macchina a stati finiti. Analisi e sintesi di reti sequenziali asincrone e sincrone.

Secondo modulo: Principi di funzionamento e architettura dell'hardware dei calcolatori. Macchina di Von Neumann. Instruction Set Architecture (ISA) e struttura interna di una CPU (unità di controllo e data path). Architetture R-R (RISC) e Architetture M-R (CISC). Misura delle prestazioni. Impatto dell'architettura sulla prestazioni. Studio dettagliato della CPU RISC "DLX" con data path strettamente sequenziale.

Terzo modulo: Introduzione al progetto di sistemi a microprocessore. Indirizzamento della memoria e dei dispositivi di Input/Output. I principali dispositivi di Input/Output e l'interrupt controller. Gestione dell'Input/Output (polling e interrupt) sia dal punto di vista hardware sia software. Progetto di semplici sistemi a microprocessore.

Testi/Bibliografia

R. Laschi, M. Prandini: "Appunti di Reti Logiche", Esculapio 2007
Hennessy Patterson: "Computer architecture: a quantitative approach" - Morgan Kaufmann pub. Inc.
Giacomo Bucci: “Architetture dei calcolatori elettronici” McGraw-Hill

Metodi didattici

Verranno inizialmente introdotti i principi di funzionamento di un calcolatore e con un approccio "top-down" si illustrerà introduttivamente la struttura dell'hardware di un calcolatore.
Verranno quindi studiate le reti logiche, modello di tutti i sistemi digitali tra cui i calcolatri elettronici e successivamente con un procedimento "bottom-up" si giungerà a delineare la struttura interna di una CPU. Si mostrerà come la sua struttura sia legata all'architettura del suo set di istruzioni, e, infine, si mostrerà come la CPU interagisce con gli altri blocchi funzionali del calcolatore (memoria e interfacce di ingresso/uscita).

Modalità di verifica e valutazione dell'apprendimento

La prova d'esame mira a verificare:

  1. la comprensione dei principi fondanti e dei modelli alla base della progettazione digitale (codifica delle informazioni, algebra della commutazione, automi a stati finiti, schemi logici, analisi e sintesi di reti logiche combinatorie e sequenziali sincrone)
  2. la comprensione del filo conduttore che porta da semplici reti combinatorie e sequenziali sincrone alla struttura del data path e dell'unità di controllo di una CPU (in quanto "macchina programmabile a esecuzione sequenziale e programma memorizzato")
  3. la conoscenza e il progetto di un semplice Set di Istruzioni (ISA RISC del DLX)
  4. la capacità di interfacciare una CPU a semplici dispositivi di I/O e alla relativa gestione con semplici programmi a interrupt o a polling.

A tal fine l'esame è suddiviso in 3 prove scritte, ognuna relativa ad una parte specifica del programma. A partire dall'A.A. 2019/2020 le prove vengono svolte sulla piattaforma EOL (https://eol.unibo.it/). 

Trattandosi di prove a carattere progettuale, durante le prove lo studente può consultare tutto il materiale che desidera.

Per ogni prova sono a disposizione 33 punti. Il voto è la media dei voti presi nelle tre prove approssimata all'intero più vicino. Se la media è superiore a 30, viene data anche la lode.

Non è prevista alcuna prova orale.

Strumenti a supporto della didattica

Le lezioni verrano svolte utilizzando slides disponibili presso il sito web del corso.
Dal sito web si può accedere ad una bacheca, all'interno della quale vengono esposti avvisi nonchè testi e soluzioni dei temi d'esame.

Orario di ricevimento

Consulta il sito web di Luca Roffia