Elementi di architettura (2020/2021)

Codice insegnamento
4S008224
Crediti
6
Coordinatore
Tiziano Villa
Settore disciplinare
ING-INF/05 - SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI
Lingua di erogazione
Italiano
L'insegnamento è organizzato come segue:
Attività Crediti Periodo Docenti Orario
Teoria 5 I semestre Tiziano Villa

Vai all'orario delle lezioni

Laboratorio 1 I semestre Nicola Drago

Vai all'orario delle lezioni

Obiettivi formativi

Obiettivo del corso è fornire le nozioni teoriche e pratiche per la realizzazione in forma digitale di un algoritmo nelle possibili alternative dalla costruzione di un dispositivo digitale dedicato all'utilizzo di un processore universale. Gli studenti capiranno i fondamenti dei meccanismi di funzionamento di un processore, del processo di traduzione di un programma da codice astratto a linguaggio macchina e della sua esecuzione; Al termine del corso, gli studenti saranno in grado di progettare architetture digitali dedicate per algo-ritmi semplici; tradurre programmi semplici da una descrizione ad alto livello in linguaggio macchina.

Programma

Introduzione all'architettura degli elaboratori.
Realizzazione di funzioni logiche elementari con circuiti a interruttore e porte logiche CMOS.
Tipologie di circuiti: digitali e analogici; combinatori e sequenziali; sequenziali sincroni e asincroni.

Introduzione alla logica combinatoria.
Assiomi e teoremi dell'algebra di Boole.
Riscrittura di espressioni con le regole dell'algebra di Boole.

Forme normali congiuntive e disgiuntive.
Funzioni incompletamente specificate.
Ipercubi Booleani e mappe di Karnaugh.

Minimizzazione logica usando le mappe di Karnaugh.
Implicanti, primi ed essenziali.
Calcolo degl'implicanti primi di funzioni a una o piu' uscite.
Minimizzazione esatta con il metodo di Quine-McCluskey.

Ritardi nei circuiti combinatori e circuiti oscillatori.
Logica regolare e programmabile per circuiti combinatori.
Selettori e deselettori.

Progettazione di circuiti combinatori dalla specifica in linguaggio naturale alla realizzazione in una tecnologia data.
Linguaggi di descrizione dei sistemi elettronici.

Aritmetica binaria con numeri negativi.
Condizioni di trabocco in complemento a due.
Rappresentazione dei numeri reali con aritmetica in virgola fissa e virgola mobile.

Addizionatori a propagazione di riporto, ad anticipo di riporto, a selezione di riporto.
Addizionatore binario modulo e segno e addizionatore di numeri in codifica BCD.
Sottrattore binario.
Unita' aritmetico-logica.

Introduzione alla logica a piu' livelli.
Conversione tra AND/OR, OR/AND e NAND, NOR.

Introduzione ai circuiti sequenziali.
Lucchetto ("latch").
Cella di memoria statica con coppia ad anello d'invertitori.
Cella di memoria SR con coppia di porte NOR (o NAND) incrociate.
Bistabili ("flip-flop").
Metodologie di temporarizzazione sincrona.

Registri di base. Registri a scorrimento. Contatori.
Analisi di registri a scorrimento e contatori dallo schema logico al grafo degli stati.
Sintesi di registri a scorrimento e contatori dal grafo degli stati allo schema logico.

Analisi e sintesi di macchine a stati finiti.
Macchine di Moore, Mealy, Mealy sincronizzate.
Trasformazione da macchine di Moore a macchine di Moore temporizzate.
Confronto tra macchine di Moore temporizzate e macchine di Mealy sincronizzate.

Minimizzazione degli stati di macchine a stati finiti.
Impatto della minimizzazione degli stati sulla minimizzazione logica.

Codifica degli stati di macchine a stati finiti.

Progettazione di circuiti sequenziali dalla specifica,
alla macchina a stati finiti, alla rappresentazione logica minimizzata.
Relazioni tra i percorsi critici e la frequenza/periodo di un circuito sequenziale.

Architettura di un processore.
Unita' di controllo e unita' esecutiva.
Ciclo di prelievo-decodifica-esecuzione di un'istruzione.
Tipi d'istruzioni. Registri fondamentali.

Interazione con le unita' d'ingresso-uscita.

Cicli di esecuzione delle operazioni di somma tra registri,
lettura/scrittura da/a memoria, salto (macchina di Mealy sincrona).

Macchine a stati finite estese.
Progettazione di processori dedicati: esempio del processore che realizza l'algoritmo di Euclide del Massimo Comun Divisore.

Introduzione all'architettura LC-3.

Modalità d'esame

Le competenze sono verificate con una prova scritta di teoria e con una prova scritta o progetto di programmazione nel linguaggio macchina dell'architettura LC-3 per il laboratorio; il voto della prima contribuisce per i 5/6 del voto finale e quello della seconda per 1/6.

Testi di riferimento
Attività Autore Titolo Casa editrice Anno ISBN Note
Teoria R.Katz, G.Borriello Contemporary logic design (Edizione 2) Pearson Education International 2005 0-13-127830-4
Teoria Y.N. Patt, S.J. Patel Introduction to Computing Systems (Edizione 2) McGrawHill 2004 978-0-07-246750-5
Teoria Franco Fummi, Mariagiovanna Sami, Cristina Silvano Progettazione Digitale (Edizione 2) McGraw-Hill 2007 8838663521