SCHEDA DELL'INSEGNAMENTO (SI)
SSD ING-INF/05
LAUREA TRIENNALE IN INGEGNERIA INFORMATICA
ANNO ACCADEMICO: 2022-2023
INFORMAZIONI GENERALI - DOCENTE
docente: VALENTINA CASOLA
telefono: +390817683907
email: Questo indirizzo email è protetto dagli spambots. È necessario abilitare JavaScript per vederlo.
INFORMAZIONI GENERALI - ATTIVITÀ
INSEGNAMENTO INTEGRATO (EVENTUALE):
MODULO (EVENTUALE):
CANALE (EVENTUALE):
ANNO DI CORSO (I, II, III): I
SEMESTRE (I, II): II
CFU: 9
(se previsti dall'Ordinamento del CdS)
Fondamenti di informatica
EVENTUALI PREREQUISITI
Conoscenza base di linguaggi di programmazione e di algoritmi fondamentali per gestire strutture dati elementari
OBIETTIVI FORMATIVI
Fornire gli strumenti metodologici per l’analisi e la sintesi di macchine elementari per la elaborazione delle informazioni (reti logiche combinatorie e sequenziali). Progettare macchine elementari fondamentali.
Presentare i fondamenti dell’architettura dei calcolatori elettronici di tipo von Neumann, il repertorio dei codici operativi e la programmazione in linguaggio assemblativo.
(Descrittori di Dublino)
Conoscenza e capacità di comprensione
Lo studente deve dimostrare di conoscere e comprendere le problematiche relative al progetto di macchine elementari con particolare riferimento alle macchine elementari per applicazioni elementari e aritmetiche, alle macchine sequenziali (registri, contatori, flip flop). Deve inoltre dimostrare di conoscere le architetture dei calcolatori e dei relativi sottosistemi, incluso il funzionamento del processore, le modalità di comunicazione con la memoria, il dimensionamento delle memorie e il collegamento con i vari dispositivi di input e output.
Capacità di applicare conoscenza e comprensione
Lo studente deve dimostrare di essere in grado di progettare e sviluppare reti combinatorie elementari, reti combinatorie aritmetiche, resti sequenziali.
Deve inoltre essere in grado di sviluppare semplici programmi in linguaggio assembler per la gestione di strutture dati elementari (vettori, pile,…).
PROGRAMMA-SYLLABUS
Analisi e sintesi di reti combinatorie. Minimizzazione di funzioni booleane completamente e incompletamente specificate. Mappe di Karnaugh. Metodo di Quine-McCluskey. Sintesi di reti combinatorie in logica NAND e NOR. Ritardi e problemi di alea nelle reti combinatorie.
Reti combinatorie elementari. Multiplexer e de-multiplexer. Encoder e decoder. Controllori di parità.
Macchine aritmetiche elementari: addizionatori, sottrattori, comparatori.
Analisi e sintesi di reti sequenziali. Modelli per la tempificazione e struttura delle reti sequenziali sincrone e asincrone. Flip-flop: generalità, Flip-flop RS a porte NOR. Flip-flop latch ed edge-triggered. Flip-flop D. Flip-flop a commutazione. Flip-flop T e JK. Registri. Caricamento seriale e parallelo. Registri a scorrimento.
Metodologia di progetto delle reti sincrone. Contatori sincroni e asincroni. Collegamento di contatori. Riconoscitori di sequenza. Bus e trasferimenti tra registri.
Il calcolatore elettronico: sottosistemi e architettura.
Il processore. Algoritmo del processore. Il ruolo dell’unità di controllo. Processori ad accumulatore e processori a registri generali. Tecniche di indirizzamento. Codifica delle istruzioni.
La memoria centrale. Interfacciamento processore-memoria. Organizzazione del sistema memoria.
Collegamento di moduli di memoria. Memorie RAM statiche e dinamiche. Sistemi di interconnessione e bus. Meccanismo delle interruzioni. Protezioni e controlli del processore. Gestione dell’I/O mediante polling e interruzioni. Il sottosistema di I/O.
Linguaggio macchina e linguaggio assembler. Corrispondenza tra linguaggi di alto livello e linguaggio macchina. Linguaggio assembler del processore Motorola 68000. Direttive di assemblaggio.
Allocazione in memoria dei programmi.
Simulatore di processore MC68000. Assemblaggio ed esecuzione di programmi in linguaggio assembler. Sottoprogrammi in linguaggio assembler. Tecniche di passaggio dei parametri a procedure in linguaggio macchina.
MATERIALE DIDATTICO
Libri di testo, dispense integrative, strumenti software:
G. Conte, A. Mazzeo, N. Mazzocca, P. Prinetto. Architettura dei calcolatori. Citt Studi Edizioni, 2015. C. Bolchini, C. Brandolese, F. Salice, D. Sciuto, Reti logiche, Apogeo Ed., 2008.
B. Fadini, N. Mazzocca. Reti logiche: complementi ed esercizi. Liguori Editore, 1995.
Dispense e presentazioni fornite dai docenti relative ad argomenti teorici e applicativi trattati al corso.
MODALITÀ DI SVOLGIMENTO DELL'INSEGNAMENTO
Il corso prevede circa il 70% di lezioni frontali in cui vengono affrontati gli argomenti teorici, mentre il restante 30% è riservato a lezioni pratiche ed esercitazioni riguardanti lo sviluppo di macchine combinatorie, macchine sincrone e sviluppo di programmi in linguaggio assembler.
VERIFICA DI APPRENDIMENTO E CRITERI DI VALUTAZIONE
a) Modalità di esame:
L'esame si articola in prova: | |
Scritta e orale | |
Solo scritta o intercorso a metà | |
Solo orale | |
Discussione di elaborato progettuale | |
Altro (prova al calcolatore) |
In caso di prova scritta i quesiti sono (*): | |
A risposta multipla | |
A risposta libera | |
Esercizi numerici |
b) Modalità di valutazione:
La prova scritta pesa circa il 90% sulla valutazione finale, mentre l’elaborato progettuale il 10%.