Docente/i:
Virginio Cantoni
Giovanni Danese
Denominazione del corso: Reti logiche e calcolatori elettronici
Codice del corso: 500540
Corso di laurea: Ingegneria Elettronica e Informatica
Sede: Pavia
Settore scientifico disciplinare: ING-INF/05
L'insegnamento è caratterizzante per: Ingegneria Elettronica e Informatica
Crediti formativi: CFU 12
Sito web del corso:
modulo di Reti logiche: vision.unipv.it/reti-logiche
modulo di Calcolatori elettronici:http://mclab.unipv.it/index.php/corsi
Obiettivi formativi specifici
Il modulo Reti Logiche intende fornire i fondamenti dell'algebra di Boole, i metodi e le tecniche di analisi
e di progetto delle reti logiche combinatorie e sequenziali sincrone e asincrone e una descrizione
delle funzioni dell'unità aritmetica inquadrate nello scenario dell'architettura di un processore
numerico. Le esercitazioni vertono sull'analisi e sintesi di reti logiche e sugli algoritmi per le
operazioni aritmetiche in presenza di un addizionatore. Al termine del corso lo studente sarà in
grado di analizzare e progettare le reti logiche più comuni e di comprendere le funzioni dell'unità
aritmetica e le relative prestazioni.
Il modulo Calcolatori Elettronici intende inoltre introdurre l’architettura dei microprocessori e dei microcalcolatori spiegandone il funzionamento attraverso il linguaggio assemblativo di programmazione. L’insegnamento vuol metter in evidenza le relazioni tra architettura dell’elaboratore e da un lato le tecnologie microelettroniche e dall’altro l’organizzazione del software di base. Le esercitazioni riguardano un linguaggio assemblativo e la messa a punto di semplici programmi in apposito ambiente di sviluppo.
Programma del corso
Il corso Reti Logiche e Calcolatori Elettronici si compone di due moduli autonomi.
Modulo Reti Logiche Sito Web: vision.unipv.it/reti-logiche
Introduzione all'algebra di Boole
Introduzione alla logica e alla teoria degli insiemi; algebra di Boole; espressioni e funzioni
booleane; teorema di espansione di Boole; prima e seconda forma canonica; implicanti e
implicati; rappresentazione di funzioni booleane; semplificazione di funzioni booleane e funzioni
di costo minimo (metodo delle mappe di Karnaugh, metodo di Quine–
McCluskey).
Le reti combinatorie
Reti combinatorie; variabili logiche e segnali elettrici; componenti elettronici elementari; blocchi
funzionali elementari: And, Or, Not, Nor, Nand, Xor. Analisi di reti combinatorie. Sintesi di reti
combinatorie. Reti combinatorie elementari: addizionatore, codificatore e decodificatore,
selettore d'ingresso e d'uscita, ROM. Transitori nelle reti combinatorie: alee statiche. Reti con
segnalazione di errore, reti immuni da errori. Diagnosi ai morsetti.
Le reti sequenziali
Reti sequenziali: stato interno, descrizione di automi a stati finiti, macchine minime; metodo della
tabella triangolare, macchine equivalenti e macchine compatibili. Macchine asincrone, corse
critiche. Macchine sincrone. Analisi di macchine sequenziali, analisi temporale. Sintesi di
macchine sequenziali: assegnazione degli stati. Reti sequenziali notevoli: Flip–Flop, registri,
contatori, riconoscitori di sequenze, sommatore seriale.
Modulo Calcolatori Elettronici Sito Web: mclab.unipv.it/index.php/corsi Architettura dei Calcolatori
Hardware, firmware e software. Componenti elettronici di un calcolatore. Unità di memoria e relativa gestione. Unità d’ingresso e d’uscita e relativa gestione. Interruzione. Interconnessione tra unità funzionali: bus.
Architettura di una CPU
Unità funzionali, registri, linguaggio di trasferimento tra registri; unità di controllo, microcomandi, microprogrammazione.
Microprocessore e Linguaggio assemblativo
Microprocessori e sistemi costruiti su microprocessori. Modalità d’indirizzamento istruzioni di un linguaggio assemblativo. Gestione dei segnali d’intereruzione. Esempi di programmi scritti in un linguaggio assemblativo.
L’ambiente di sviluppo dei progetti
Assemblatore. Linker-Loader. Simulatore. Esempi di programmi scritti in linguaggio assemblativo e relativa messa a punto mediante l’uso di un simulatore.
Prerequisiti
I principi della programmazione.
Tipologia delle attività formative
Lezioni (ore/anno in aula): 90
Esercitazioni (ore/anno in aula): 0
Attività pratiche (ore/anno in aula): 0
Materiale didattico consigliato
Le prime due citazioni sono relative al modulo Reti Logiche; la successiva al modulo Calcolatori Elettronici
M. Morris Mona, Charles R. Kime. Reti Logiche. Pearson -Prentice Hall, 2008. Traduzione del testo in inglese: M. Morris Mona, Charles R. Kime, “Logic
and Computer Design Fundamentals” Pearson -Prentice Hall, 2008, IV edition
.
I. De Lotto. Appunti di Calcolatori Elettronici. Parte prima: reti logiche e unità aritmetica. Spiegel, Milano 1996.
Patterson D.A., Hennesy J.L.. Struttura e progetto dei calcolatori (con CD ROM)-Interfaccia hardware e software. Zanichelli, 2010, Bologna, III edizione.. Traduzione del testo in inglese: David A. Patterson, John L. Hennessy, “Computer Organization and Design” Elsevier – Morgan Kaufmann, 2009, IV edition.
Modalità di verifica dell'apprendimento
Il modulo di Reti Logiche prevede una prova scritta, superata la quale può essere richiesta una verifica orale conclusiva.
Il modulo di Calcolatori Elettronici prevede una prova di teoria in cui il candidato approfondisce argomenti trattati nel corso e una prova pratica in cui viene valutata la capacità del candidato di utilizzare gli strumenti di sviluppo messi a disposizione e usati durante il corso. Per questo modulo la valutazione è ottenuta come media aritmetica dei voti conseguiti nella prova di teoria, con peso 2/3, e nella prova pratica, con peso 1/3, a condizione che ambo le valutazioni siano sufficienti.
Il voto conclusivo, al superamento delle prove di ambo moduli, è stabilito come media aritmetica delle valutazioni conseguite nei due moduli.
La validità della prova di un singolo modulo si conclude dopo un anno di calendario dal superamento della prova stessa. In aggiunta, per il modulo di Calcolatori Elettronici, a pena di decadenza di validità della prova teorica, la prova pratica deve essere sostenuta con successo entro la fine della sessione d’esame successiva a quella in cui la prova teorica sia stata sostenuta.
|