Studiare
In questa sezione è possibile reperire le informazioni riguardanti l'organizzazione pratica del corso, lo svolgimento delle attività didattiche, le opportunità formative e i contatti utili durante tutto il percorso di studi, fino al conseguimento del titolo finale.
Tipologia di Attività formativa D e F
Queste informazioni sono destinate esclusivamente agli studenti e alle studentesse già iscritti a questo corso.Se sei un nuovo studente interessato all'immatricolazione, trovi le informazioni sul percorso di studi alla pagina del corso:
Laurea in Bioinformatica - Immatricolazione dal 2025/2026Nella scelta delle attività di tipo D, gli studenti dovranno tener presente che in sede di approvazione si terrà conto della coerenza delle loro scelte con il progetto formativo del loro piano di studio e dell'adeguatezza delle motivazioni eventualmente fornite.
anni | Insegnamenti | TAF | Docente |
---|---|---|---|
3° | Linguaggio Programmazione Matlab-Simulink | D |
Bogdan Mihai Maris
(Coordinatore)
|
anni | Insegnamenti | TAF | Docente |
---|---|---|---|
3° | Introduzione alla stampa 3D | D |
Franco Fummi
(Coordinatore)
|
3° | Linguaggio programmazione Python | D |
Vittoria Cozza
(Coordinatore)
|
3° | Progettazione di componenti hardware su FPGA | D |
Franco Fummi
(Coordinatore)
|
3° | Prototipizzazione con Arduino | D |
Franco Fummi
(Coordinatore)
|
3° | Tutela dei beni immateriali (SW e invenzione) tra diritto industriale e diritto d’autore | D |
Roberto Giacobazzi
(Coordinatore)
|
anni | Insegnamenti | TAF | Docente | |
---|---|---|---|---|
1° | Conoscenze per l'accesso: matematica | D |
Rossana Capuani
|
|
3° | Lab.: The fashion lab (1 cfu) | D |
Maria Caterina Baruffi
(Coordinatore)
|
|
3° | Linguaggio Programmazione LaTeX | D |
Enrico Gregorio
(Coordinatore)
|
Elementi di architettura (2020/2021)
Codice insegnamento
4S008224
Crediti
6
Lingua di erogazione
Italiano
Settore Scientifico Disciplinare (SSD)
ING-INF/05 - SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI
L'insegnamento è organizzato come segue:
Teoria
Laboratorio
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.
Bibliografia
Attività | Autore | Titolo | Casa editrice | Anno | ISBN | Note |
---|---|---|---|---|---|---|
Teoria | Randal E. Bryant, David R. O'Hallaron | Computer Systems: A Programmer's Perspective (Edizione 3) | Pearson; 3 edition (March 12, 2015) | 2015 | 978-0134092669 | |
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 |
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.
Materiale e documenti
-
Architettura - Cap. 1-10 CLD Borriello-Katz (en, 745 KB, 9/30/20)
-
Architettura - Esercizi (it, 3432 KB, 12/22/20)
-
Architettura - Lezioni LC3 (it, 6580 KB, 1/18/21)
-
XX-TV Temi d'esame (it, 4594 KB, 12/12/20)
-
LC3 - Istruction Set.pdf (it, 43 KB, 12/17/20)
-
LC3 - Lezione 1.pdf (it, 202 KB, 12/17/20)
-
LC3 - Lezione 2.pdf (it, 271 KB, 12/17/20)
-
LC3 - Lezione 3.pdf (it, 219 KB, 12/17/20)