Insegnamento ARCHITETTURA DEGLI ELABORATORI

Nome del corso di laurea Informatica
Codice insegnamento 20009205
Curriculum Comune a tutti i curricula
Docente responsabile Alfredo Navarra
Docenti
  • Alfredo Navarra
  • Raffaella Gentilini (Codocenza)
Ore
  • 42 Ore - Alfredo Navarra
  • 21 Ore (Codocenza) - Raffaella Gentilini
CFU 9
Regolamento Coorte 2021
Erogato Erogato nel 2021/22
Erogato altro regolamento
Attività Base
Ambito Formazione informatica di base
Settore INF/01
Anno 1
Periodo Annuale
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:sommatore ripple-carry, multiplexer, decoder.
Circuiti sequenziali: modellazione mediante macchine a stati finiti. Macchine di Mealy, macchine di Moore, procedure di conversione dei modelli di macchina a stati finita di Moore/Mealy. Bistabili: latch SR, latch D, Flip flop D. Sintesi ed ottimizzazione di circuiti sequenziali.

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