Programma - aggiornato al 07-06-2012

annuncio pubblicitario
Università “Federico II” di Napoli, Corso di Laurea in Ingegneria Elettronica e Ing. TLC
Prof.Ing. Mauro Mastroianni
CALCOLATORI ELETTRONICI I
Programma del corso (9 CFU - 3 CFU)
Corso di Laurea Ing. Elettronica e Ing. delle Telecomunicazioni
Anno Accademico 2011/12
Prof. Ing.
MAURO MASTROIANNI
Aggiornamento
al
07-06-2012
PROGRAMMA DA 9 CFU
(Il programma da 3 CFU è in fondo al documento)
Unità 1: RICHIAMI E INTRODUZIONE
Unità 1-1: Rappresentazione dei numeri e richiami numerazione in varie basi
Richiami di numerazione binaria, ottale, esadecimale. Operazioni in aritmetica binaria.
Rappresentazione dei numeri. Generalità sui codici. Overflow e Underflow. Errori di
rappresentazione. Rappresentazione e Aritmetica dei numeri naturali: segno e modulo,
complementi alla base, complementi diminuiti. Eccesso-k. Virgola fissa. Virgola mobile:
normalizzazione e approssimazione.
Bit e byte: unità di misura della capacità di memoria.
Unità 1-2: Introduzione ai calcolatori elettronici
Macchina di Turing. Modelli di Von Neumann. Unità di controllo. Ciclo del processore. Unità
aritmetico-logica. Modelli architetturali di un computer. CPU. Modello architetturale di una CPU.
Memoria primaria e interazione con CPU. Registri. Sistema di I/O. Bus.
Unità 1-3: Storia dei calcolatori elettronici
Le generazioni di computer. Lavori Batch. Tecnica delle “divisione del tempo”. Esempi.
Unità 2: RETI LOGICHE E MACCHINE ELEMENTARI
Unità 2-1: Algebra di Boole
Algebra di Boole. Modello fondamentale. Definizioni e postulati. Proprietà notevoli. Legge di
dualità. Variabili e funzioni booleane. Funzioni AND, OR, NOT. Teoremi complemento,
convoluzione, elementi neutri, assorbimento (dimostrazioni). Teorema di De Morgan e di
Shannon (dimostrazioni). Teorema dell’elemento unico. Principio di eliminazione.
Algebra degli insiemi. Teorema di Stone. Algebra della logica. Segnale binario. Porta logica
NOT, AND, OR. Algebra dei circuiti e reti. Corrispondenza tra forma e circuito.
Unità 2-2: Funzioni booleane e porte universali
Mintermine e maxtermine. Tabelle di verità. Le sedici funzioni di due variabili. Porte a più
ingressi. Forma normale di tipo p e di tipo s. Numero caratteristico. Equazioni booleane.
Operatori logici e funzioni generalizzate. Funzioni booleane “generalizzate”. Funzioni NAND e
NOR, proprietà e trasformazione di forme p e s. Esercizi.
Programma del corso di Calcolatori Elettronici I
Pagina 1 di 5
Università “Federico II” di Napoli, Corso di Laurea in Ingegneria Elettronica e Ing. TLC
Unità 2-3: Minimizzazione con mappe di Karnaugh
Costi di una forma. Minimizzazione algebrica. Implicanti,
(dimostrazioni). Diagrammi di Veitch e Mappe di Karnaugh,
minimizzazione con Mappe di Karnaugh. Mappe per forme
specificate (presenza di don’t care) e relativa minimizzazione di
Prof.Ing. Mauro Mastroianni
Implicanti Primi e proprietà
proprietà notevoli. Esercizi di
S. Funzioni incompletamente
Karnaugh. Esercizi.
Unità 2-4: Minimizzazione con metodo di Quine e McCluskey
Presupposti teorici e dimostrazioni. Ricerca degli implicanti primi: metodo di Quine, metodo di
McCluskey, metodo di Karnaugh. Copertura minima, nucleo, resto. Metodi di copertura minima.
Minimizzazione per funzioni incompletamente specificate (don’t care). Esercizi.
Unità 2-5: Parità, Disparità e Decomposizione funzionale
Funzioni XOR ed EQ, forme alternative e proprietà. Funzioni parità e disparità, dualità,
associatività (dimostrazioni), struttura ad albero della disparità.
Decomposizione funzionale e matrici di decomposizione. Esempi.
Unità 2-6: Codifica e Controllo di errore
Codifica delle informazioni a lunghezza fissa e a lunghezza variabile. Codifica diretta e
indiretta. Codice BCD. Codici incompleti e ridondanti. Decodifica. Codifica dei caratteri.
Controllo di errore con bit di parità. Tecnica Check Sum. Distanza di Hamming. Teorema di
Hamming (solo enunciato).
Unità 2-7 e 2-8: Macchine combinatorie fondamentali
Caratteristiche delle macchine combinatorie. Transcodificatore. Transcodificatore per
visualizzatore a 7 segmenti. Decodificatore. Decodificatore incompleto. Decodificatore
composto a semiselezione e ad albero. Utilizzo di Decoder nell’input/output del processore.
Codificatore. Codificatore BCD. Codificatore a priorità. Multiplexer. Demultiplexer. Multiplexer e
Demultiplexer indirizzabile. Costruzione di un multiplexer e di un de multiplexer a 2 ingressi di
selezione. Multiplexer composti.
Comparatore parallelo e seriale. Comparatore bit-seriale e circuito. Comparatore binario.
Collegamento in cascata di comparatori.
Semiaddizionatore. Addizionatore. Sottrattore. Addizionatore binario. Addizionatore seriale e
parallelo. Addizionatore con anticipo del riporto (carry lookahead). Reti di addizionatori con
anticipo del riporto. Rete di anticipo a più livelli.
Composizione di macchine combinatorie. Esercizi.
Esempi di macchine elementari in commercio: datasheet comparatore 54-85, multiplexer 54151, multiplexer 54-153.
Unità 2-9: Reti Universali
Reti con multiplexer e Logica Folded. Esercizi. ROM. Programmable Logic Array. Field
Programmable Gate Array (FPGA).
Unità 2-10: Tempificazione
Ritardo di propagazione e ritardo inerziale. Sequenze di valori. Valori e Sequenze impulsivi e a
livelli. Classificazione delle sequenze. Clock. Clock a n fasi. Commutazione sul fronte di clock.
Macchine a livello e impulsive.
Alee e classificazione. Alee multiple. Alee per impulsi concomitanti. Alee statiche e aggiunta
implicanti. Alee dinamiche. Esercizi.
Unità 2-11: Macchine sequenziali
Concetto di stato e automa. Quintupla della macchina sequenziale. Modello di Moore e Mealy.
Modello realizzativo. Diagramma e Tabella degli stati. Esercizi su riconoscitori di sequenze.
Modello generale di rete sequenziale.
Stato stabile e Macchina asincrona. Modello Fondamentale con ritardi di Macchina asincrona.
Macchina a sincronizzazione esterna. Rete a sincronizzazione esterna.
Programma del corso di Calcolatori Elettronici I
Pagina 2 di 5
Università “Federico II” di Napoli, Corso di Laurea in Ingegneria Elettronica e Ing. TLC
Prof.Ing. Mauro Mastroianni
Unità 2-12: Flip-Flop, Registri, Contatori, Bus
Elemento bistabile e classificazione dei Flip-Flop. Flip flop RS: realizzazione ed equazioni di
stato. Flip flop abilitato: Latch e Edge triggered. Flip flop D, T, JK: realizzazioni ed equazioni di
stato. Esempi di Flip-Flop in commercio: 74HC74 (D e RS), CD4095BMS (JK e RS).
Registri e classificazione, seriale e parallelo. Realizzazione con JK. Trasferimenti tra registri.
Esempi di shift register in commercio: 74H595. Esercizi.
Contatori modulo n. Realizzazione con JK. Diagramma di tempificazione. Esempi di contatore in
commercio: 74VHC393. Esercizi con i contatori
Concetto di bus. Bus dedicato e comune. Trasferimento su bus unico. Porte abilitanti (tristate).
Esempi di buffer tristate in commercio: DM74LS125A. Abilitazione di un bus e OR di bus.
Comunicazione su un bus unico. Trasferimenti paralleli con due bus.
Unità 2-13: Progetto di reti sincrone
Modello reti sincrone impulsive a sincronizzazione esterna. Fasi della progettazione. Progetto
completo di un riconoscitore di sequenza. Progetto di un riconoscitore BCD.
Unità 3: PROGRAMMAZIONE DEI MICROPROCESSORI
Unità 3-1: Architettura del processore
Organizzazione dei dati in memoria: parola-carattere, big-little-endian, allineamento.
Architettura e caratteristiche del processore MC68000. Panoramica su altre CPU.
Unità 3-2: Introduzione a Assembly
Esempio di equivalenza tra linguaggio macchina e linguaggio assembly. Cenni alle differenze
tra assemblatori, compilatori e interpreti. Esempi di assembly per diversi microprocessori.
Caratteristiche dei linguaggi assembly, istruzioni, convenzioni. Program Location Counter.
Formato istruzioni e classificazione.
Unità 3-3: Programmazione assembly MC68000
Modello di programmazione del 68000. Registro di stato. Classi di istruzioni. Alcuni codici
operativi del 68000 e cenni all’indirizzo effettivo (effective address): MOVE, LEA, MOVEA, ADD
e SUB, ADDI e SUBI, ADDQ e SUBQ, MUL e DIV, CLR, EXG e SWAP, istruzioni Logiche,
istruzioni di Shift, CMP, CMPM. Istruzioni di salto condizionato Bcc e DBcc e codici di
condizione. Istruzione BTST. Salti incondizionati JMP. Caso particolare DBRA (esempio di ciclo
for). Differenza signed / unsigned nel confronto.
Pseudo-operazioni e etichette. Esempio di programma in linguaggio assembly.
Codifica in assembly dei costrutti IF, IF…ELSE, DO-WHILE, WHILE.
Unità 3-4: Ambiente ASIM
Funzionamento del software ASIM e AsimTool.
Unità 3-5: Primi esercizi Assembly MC68000
Esempi di programmi assembly: moltiplicazione di due interi; somma di n numeri; prodotto
scalare di due vettori; ricerca di un carattere in un testo e variante migliorativa.
Unità 3-6: Indirizzamento e tempificazione istruzioni nel MC68000
Organizzazione dati in memoria. Dimensioni indirizzi e registri. Estensione dell’indirizzo.
Esercizi.
Modi fondamentali di indirizzamento degli operandi: indirizzamento diretto attraverso registro,
indirizzamento immediato, indirizzamento assoluto. Altri modi di indirizzamento:
indirizzamento indiretto e varianti (pre-decremento e post-incremento),
indirizzamento
indicizzato con base, indirizzamento indicizzato con indice e base, indirizzamento relativo.
Esempi ed esercizi.
Tempificazione delle istruzioni: concetti base, velocità dei modi di indirizzamento, velocità delle
istruzioni, cenni alle tabelle di tempificazione delle istruzioni del 68000, esempi di cicli per
l’istruzione Move e per le istruzioni di somma.
Applicazioni pratiche in aula PC.
Programma del corso di Calcolatori Elettronici I
Pagina 3 di 5
Università “Federico II” di Napoli, Corso di Laurea in Ingegneria Elettronica e Ing. TLC
Prof.Ing. Mauro Mastroianni
Unità 3-7: Subroutines
Richiami sui sottoprogrammi. Collegamento mediante salto semplice. Collegamento con utilizzo
dello stack. Collegamento con apposite istruzioni di salto a subroutines: soluzione con link
register e soluzione con stack. Le istruzioni JSR e RTS del 68000. Esempi ed esercizi.
Passaggio dei parametri. Soluzione nei registri: esempio con la moltiplicazione a somme
ripetute. Soluzione in aree di memoria: posizionamento dei parametri nel chiamante o nel
chiamato; esempio con la divisione binaria con subroutines (escluso lo studio in dettaglio
dell’algoritmo della divisione binaria). Soluzione con lo stack: le istruzioni LINK e UNLINK;
esempio con la moltiplicazione binaria. Passaggio per valore o per riferimento. Esempi ed
esercizi. Simulazioni in ASIM di un programma con due moduli: chiamante e chiamato.
Unità 3-8: Esempi di programmazione assembly per 68000
Dieci esempi di programmi assembly senza e con subroutines.
Unità 4: MEMORIE e SISTEMA DI INPUT-OUTPUT
Unità 4-1: Memoria primaria
Memoria statica e dinamica. Cella. Definizione di memoria. Modello logico. Pinout di un chip.
Memoria indirizzabile. Memoria associativa. Tassonomia della memoria. Cella statica e
dinamica. Parametri. Unità di misura della capacità. Schemi di selezione: associativa, lineare, a
più dimensioni, temporale.
Componenti di una RAM. Esempio di una memoria in commercio: 28F512. Collegamenti tra
moduli RAM. Banco di memoria: parallelismo di bit, SIMM, DIMM, SO-DIMM, Micro-DIMM.
Memoria DRAM e SRAM. Memoria SDRAM: SDR e DDR. Socket e Canali di memoria. Memory
card. Alimentazione elettrica delle memorie. Integrità dei dati: Parity checking, fake parity,
ECC. Buchi di memoria.
ROM e tipi di memorie non volatili. Firmware. Gerarchia delle memorie e modello a piramide.
Cenni a memoria cache. Principio di località. CPU a più cache (esempi CPU dal 1993 al 2007).
Unità 4-2: Architettura I/O
Schema di collegamento del sistema di I/O. Device controller. Protocollo sincrono e asincrono.
Comunicazione parallela e seriale (sincrona e asincrona). Elementi della comunicazione.
Collegamento port-mapped e memory mapped. Driver. Meccanismi di comunicazione: polling,
DMA, interruzioni.
Unità 4-3: Interruzioni e privilegi
Inquadramento generale delle Interruzioni. Ciclo del processore esteso. Meccanismo di
gestione interruzioni. Salvataggio stato. Latenza. Interruzioni innestate. Priorità e
mascheramento. Identificazione del chiamante: polling e daisy chain, interrupt vettorizzato,
interrupt autovettorizzato. Vettore delle interruzioni. Driver e ISR.
Interruzioni nel 68000. Priorità, identificazione del chiamante, dettaglio del vettore delle
interruzioni e dell’autovettore. Gruppi di eccezioni. Stati di esecuzione. Istruzioni TRAP e
TRAPV. Stati user e supervisor e passaggio tra stati. Istruzioni privilegiate. Gestione delle
eccezioni in cinque fasi.
Unità 4-4: PIN e diagrammi temporali del 68000
PIN del 68000. Gruppi: trasferimento dati; interruzioni; varie.
Facoltativo: Comprensione di diagrammi temporali: ciclo accesso in memoria, ciclo ACK delle
interruzioni.
Unità 4-5: Memoria di massa
Generalità. Classi di dispositivi. Accesso sequenziale e diretto. Memoria a nastro. Memoria a
dischi magnetici: struttura, organizzazione dati, tempi d’accesso, interfacce, form factor, rpm.
Dischi magneto-ottici (cenni). Dischi ottici: lettura e scrittura su CD e DVD. Memorie USB.
Memory card. Per tutti i tipi di memoria: vantaggi e svantaggi, capacità di memoria tipica e
massima, velocità, robustezza.
Facoltativo: Memorie a disco obsolete.
Programma del corso di Calcolatori Elettronici I
Pagina 4 di 5
Università “Federico II” di Napoli, Corso di Laurea in Ingegneria Elettronica e Ing. TLC
Prof.Ing. Mauro Mastroianni
Note al programma:
 Gli esempi di chip in commercio e i datasheet non devono essere studiati per esporli
all’esame ma solo per meglio comprendere il relativo argomento.
Libri di testo consigliati
 Teoria e Progetto delle Reti Logiche. Autori: B. Fadini, A. Esposito. Editore: Liguori
Editore. Edizione: seconda. Anno di pubblicazione: 1994. 416 pagine. Al 04/03/2012
disponibile su bol.it al prezzo di € 43,20; non disponibile su ibs.it; non disponibile su
amazon.it
 Introduzione all’architettura dei calcolatori. Autori: Hamacher V.
Vranesic, Safwat Zaky. Editore: McGraw-Hill. Edizione: seconda. Data di
Febbraio 2007. ISBN: 8838663734. ISBN-13: 9788838663734. Pagine: 660.
disponibile su bol.it al prezzo di € 36,00; non disponibile su ibs.it; non
amazon.it
Carl, Zvonko
Pubblicazione:
Al 04/03/2012
disponibile su
Altri testi e risorse utili:
 Reti logiche: complementi ed esercizi. Autori: Fadini B., Mazzocca N. Editore: Liguori
Editore. Anno di pubblicazione: 1995. 252 pagine. Al 04/03/2012 disponibile su bol.it al
prezzo di € 20,50; non disponibile su ibs.it; non disponibile su amazon.it
 Prove d’esame (con o senza le relative soluzioni) dei docenti di “Calcolatori Elettronici I”
della Federico II pubblicate sulle aree web, compreso l’area web del docente di questo corso
PROGRAMMA Integrazione da 3 CFU
Dal programma da 9CFU:
- Unità 1: RICHIAMI E INTRODUZIONE
- Unità 2: RETI LOGICHE E MACCHINE ELEMENTARI
Note al programma:
 Gli esempi di chip in commercio e i datasheet non devono essere studiati per esporli
all’esame ma solo per meglio comprendere il relativo argomento.
Libri di testo consigliati e altro
 Teoria e Progetto delle Reti Logiche (vedi dettagli prima)
 Reti logiche: complementi ed esercizi (vedi dettagli prima)
 Prove d’esame (vedi dettagli prima)
Programma del corso di Calcolatori Elettronici I
Pagina 5 di 5
Scarica