Insegnamento ARCHITETTURA DEGLI ELABORATORI
- Corso
- Informatica
- Codice insegnamento
- 20009205
- Curriculum
- Comune a tutti i curricula
- Docente
- Alfredo Navarra
- Docenti
-
- Alfredo Navarra
- Raffaella Gentilini (Codocenza)
- Ore
- 42 ore - Alfredo Navarra
- 21 ore (Codocenza) - Raffaella Gentilini
- CFU
- 9
- Regolamento
- Coorte 2020
- Erogato
- 2020/21
- Attività
- Base
- Ambito
- Formazione informatica di base
- Settore
- INF/01
- Tipo insegnamento
- Obbligatorio (Required)
- Tipo attività
- Attività formativa monodisciplinare
- Lingua insegnamento
- ITALIANO
- Contenuti
- MODULO I: Il modulo introduce le nozioni fondamentali della progettazione logica dei sistemi digitali. In particolare, verranno trattate (1) le caratteristiche e le proprieta' dell'algebra booleana e di commutazione (2) la sintesi e l'ottimizzazione delle reti logiche combinatorie (3) cenni ai sistemi sequenziali: macchine a stati finiti.
MODULO II: richiami sulla codifica dei numeri: rappresentazione posizionale; modulo e segno; complemento a due; Addizionatore: somma; sottrazione; moltiplicazione; divisione; Numeri in virgola mobile: addizione; moltiplicazione; standard IEEE 754 a 16 bit; Automi Cellulari: cenni sul Game of Life. Scintillae e sistemi di computazione; Livelli di Astrazione: Livello Funzionale, RTL. Micro-operazioni. Controllo elaboratore. Ciclo di macchina. L'elaboratore PDP8: livello registri, livello funzionale, unità di controllo, linguaggio Assembly. Memoria Cache; Tecnica del Pipelining. - Testi di riferimento
- MODULO I:
1. Cristiana Bolchini, Carlo Brandolese, Fabio Salice, Donatella Sciuto. Reti Logiche. Maggioli Editore, 2015, Apogeo Education.
MODULO II:
2. F. Barsi: Architettura degli elaboratori, parte seconda: struttura dei sistemi. Margiacchi-Galeno
3. C. Hamacher, Z. Vranesic, S. Zaky, Naraig Manjikian: Introduzione all'architettura dei calcolatori III edizione. McGraw-Hill - Obiettivi formativi
- Conoscenza e comprensione delle caratteristiche di base di un elaboratore elettronico, incluso la programmazione di basso livello
- Prerequisiti
- nessuno
- Metodi didattici
- Lezioni frontali
Esercitazioni
Seminari - Modalità di verifica dell'apprendimento
- prova scritta
- Programma esteso
- MODULO I: Algebra di Boole e di commutazione: proprieta' dell'algebra di Boole, algebra di commutazione, funzioni ed espressioni booleane, forme canoniche, porte logiche. Reti combinatorie: sintesi di reti combinatorie, forme canoniche, minimizzazione (metodo di Karnaugh e metodo di Quine-McCluskey), circuiti combinatori speciali d'uso frequente. Flip-flop. Clock. Circuiti sequenziali: modellazione mediante macchine a stati finiti, analisi e sintesi di circuiti sequenziali sincroni (cenni), circuiti sequenziali d'uso più frequente.
MODULO II: La rappresentazione dell'Informazione nell'elaboratore. Rappresentazioni dei numeri. Posizionale semplice. Modulo e segno. Complemento alla base. Complemento alla base diminuita. Rappresentazioni numeri frazionari. Rappresentazione in virgola mobile standard (half-precision). Binarie. Ottali esadecimali. BCD. Conversioni tra le basi e operazioni nelle varie rappresentazioni. Caratteri ASCI. Somma, sottrazione, moltiplicazione e divisione dei numeri binari, in complemento a due e in virgola mobile.
Cenni sugli automi cellulari: The game of life; Scintillae. Applicazioni degli automi cellulari nell'architettura degli elaboratori.
Componenti di un elaboratore e loro funzionalita'. Unità di Ingresso/Uscita. Unità di Memoria. Unità Aritmetico-Logica. Unità di Controllo. Livelli di Astrazione. Livello Funzionale, RTL. Micro-operazioni. Trasferimenti tra registri e possibili circuiti. Trasferimenti con memoria. Micro-operazioni aritmetiche e logiche. Controllo elaboratore. Ciclo di macchina.
Esempio di architettura RISC: l'elaboratore PDP8. Interpretazione dell'informazione. Codifica delle istruzioni. Cicli di fetch, indirizzamento indiretto, execute.
Set di istruzioni del PDP8 e corrispondenti cicli di execute. Pseudo istruzioni e Commenti. Metodi di indirizzamento. Programmazione Assembly. Cenni sull'architettura x86
La memoria Cache. Principi di località Spaziale e Temporale. Eventi di Miss e di Hit. Metodi di Indirizzamento. Algoritmi di Sostituzione. Tecniche di ottimizzazione della memoria cache. Programmazione Cache-friendly.
Metodologia del Pipelining. Approccio a 2 e 4 stadi. Analisi delle Prestazioni. Categorie di Conflitti. Tecniche di Ottimizzazione delle pipeline.