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.
Condividi su