- Docente: Luigi Di Stefano
- Crediti formativi: 6
- SSD: ING-INF/05
- Lingua di insegnamento: Italiano
- Modalità didattica: Convenzionale - Lezioni in presenza
- Campus: Bologna
-
Corso:
Laurea in
Ingegneria dell'automazione (cod. 9217)
Valido anche per Laurea in Ingegneria elettronica e telecomunicazioni (cod. 9065)
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.
Contenuti
Contenuti
- Introduzione - Modello di Von Neumann. PC e Cicli di Bus. Architettura dell'Hardware. Prestazioni. Cenni di Storia dei Calcolatori.
- 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).
- Complementi di Reti Logiche - ALU. Driver 3-state e multiplexer distribuito. Register File. Driver, Tranceiver, Latch, Registri Edge Triggered.
- ISA DLX – Ambiente di esecuzione. Set di Istruzioni. Realizzazione di uno stack per la gestione delle procedure. Esempi di codice. Formato delle istruzioni.
- 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.
- 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.
- IA (Intel Architecture) - Ambiente di esecuzione. Segmentazione: indirizzi logici e fisici. Set di Istruzioni. Esempi di codice e confronto con il codice DLX.
- 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.
- 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.
- 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 e valutazione 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