28012 - CALCOLATORI ELETTRONICI T

Scheda insegnamento

  • Docente Luigi Di Stefano

  • Crediti formativi 6

  • SSD ING-INF/05

  • Modalità didattica Convenzionale - Lezioni in presenza

  • Lingua di insegnamento Italiano

SDGs

L'insegnamento contribuisce al perseguimento degli Obiettivi di Sviluppo Sostenibile dell'Agenda 2030 dell'ONU.

Istruzione di qualità

Anno Accademico 2019/2020

Conoscenze e abilità da conseguire

Introduzione ai principi architetturali dei calcolatori elettronici. Struttura di unità centrale di elaborazione (CPU), sottosistema di memoria, sottosistema di I/O. Progetto hw/sw di semplici sistemi basati su una CPU.

Programma/Contenuti

  1. Introduzione - Modello di Von Neumann. PC e Cicli di Bus. Architettura dell'Hardware. Prestazioni. Cenni di Storia dei Calcolatori.
  2. Architettura del Set di Istruzioni -  Caratteristiche generali di una ISA: codifica delle istruzioni, modalità di indirizzamento, classi di istruzioni, gestione delle procedure. Classificazione delle Architetture. Architetture Register-Register  (RISC) e Memory–Register  (CISC). 
  3. Complementi di Reti Logiche -  ALU. Driver 3-state e multiplexer distribuito. Register File. Driver, Tranceiver, Latch,  Registri Edge Triggered.
  4. ISA DLX – Ambiente di esecuzione. Set di Istruzioni. Realizzazione di uno stack per la gestione delle procedure. Esempi di codice. Formato delle istruzioni.
  5. Struttura Interna di una CPU ad esecuzione sequenziale -  Controllo e Datapath.  Datapath del DLX. Diagramma degli stati dell'unità di controllo del DLX. Gestione degli interrupt. Calcolo del numero di clock per l'esecuzione di un'istruzione.
  6. Struttura Interna di una CPU in Pipeline: Principi generali ed indicatori di performance inerenti il pipelining. Datapath in pipeline del DLX, Dipendenze e Alee, Stalli e Unità di Forwarding. Alee di controllo. Predizione dei branch.
  7. IA (Intel Architecture) - Ambiente di esecuzione. Segmentazione: indirizzi logici e fisici. Set di Istruzioni. Esempi di codice e confronto con il codice DLX.
  8. Interfacciamento di memorie al bus di sistema – Memorie ROM e RAM. Mapping dei chip di memoria e decodifica degli indirizzi nel caso di bus dati ad 8 bit. Estensione al caso di bus dati multi-byte (16 bit,32 bit,....). Tempi di accesso delle memorie e calcolo del numero di stati di wait. Circuito del READY.
  9. Gestione delle porte di I/O – I/O base. Modello di una porta di I/O. Accesso ai registri interni della porta in caso di bus-dati ad 8 bit. Interfacciamento di una porta di I/O in caso di bus dati multi-byte. Gestione dll'I/O a polling ed esempi di codice assembler. Gestione dell'I/O ad interrupt ed esempi di codice assembler.
  10. Il sistema delle interruzioni -  Classi di interruzioni (interrupt HW, interrupt SW ed eccezioni). Gestione degli interrupt hardware mediante un PIC (Programmable Interrupt Controller). Trasferimento del controllo vettorizzato.

Testi/Bibliografia

Testi consigliati per approfondimenti:

1. Hennessy, Patterson: "Computer architecture: a quantitative approach" - Morgan Kaufmann pub. Inc., second edition (esiste anche la versione in
italiano edita da Zanichelli)
2. Giacomo Bucci: “Architetture dei calcolatori elettronici” McGraw-Hill

Metodi didattici

Lezioni ed esercitazioni in aula.

Modalità di verifica dell'apprendimento

Esame scritto costituito da esercizi di progetto inerenti sia la struttura interna di una CPU sia l'interfacciamento di memorie e porte di I/O al bus di sistema di una CPU.

Strumenti a supporto della didattica

PC e Videoproiettore.

Link ad altre eventuali informazioni

https://iol.unibo.it/course/view.php?id=33262

Orario di ricevimento

Consulta il sito web di Luigi Di Stefano