Calcolatori Elettronici I

Corso Pegaso V "GArn Elettronici"

ing. Alessandro Cilardo


A.A. 2012-13

Durata corso: 81 ore

Lezione Data Slide / Riferimenti Argomenti
1 Lunedì 18/02/2013
(2 ore)
Introduzione al Corso. Brevi cenni storici sulla evoluzione dei calcolatori elettronici.
Primi cenni introduttivi sull'architettura di un calcolatore elettronico.
2 Venerdì 22/02/2013
(3 ore - tot.: 5 ore)
Sistemi di numerazione. Sistema Binario. Rappresentazione binaria senza segno. Concetto di overflow.
Rappresentazione in modulo e segno. Rappresentazione in complementi. Proprietà fondamentali. Esercizi.
3 Lunedì 25/02/2013
(3 ore - tot.: 8 ore)
    (vedi Lezione 2) Rappresentazione in complementi diminuiti. Rappresentazione Eccesso-k. Rappresentazione in virgola fissa. Esercizi.
4 Venerdì 1/03/2013
(3 ore - tot.: 11 ore)
Rappresentazione in virgola mobile. Standard IEEE 754. Esercizi. Codifica dell'informazione. Codici completi/incompleti, ridondanti, a lunghezza variabile. Rappresentazione decodificata. Esempi. Codice BCD. Codice ASCII.
5 Lunedì 4/03/2013
(3 ore - tot.: 14 ore)
Introduzione allo studio delle Reti Logiche. Algebra di Boole. Rappresentazione delle funzioni logiche. Tabella di verità.
6 Venerdì 8/03/2013
(3 ore - tot.: 17 ore)
Minimizzazione delle funzioni logiche. Mintermini e Maxtermini. Forme P ed S. Mappe di Karnaugh
7 Lunedì 11/03/2013
(3 ore - tot.: 20 ore)
    (vedi Lezione 6) Minimizzazione tramite metodi algebrici. Metodo di Quine/McCluskey. Confronti con metodo basato su mappe di Karnaugh. Punti di indeterminazione (don't care)
8 Venerdì 15/03/2013
(3 ore - tot.: 23 ore)
    (vedi Lezione 6) Minimizzazione in forma S. Esempi con e senza punti di indeterminazione. Funzioni NAND e NOR. Realizzazione di reti usando soltanto porte NAND e soltanto porte NOR. Funzione Disparità e Parità. Realizzazione ad albero. Tempificazione. Ingressi adiancenti. Hazards (alee) nei circuiti digitali e modi per prevenirli in fase di progetto logico.
9 Venerdì 5/04/2013
(3 ore - tot.: 26 ore)
Circuiti combinatori notevoli. Codificatori/decodificatori/transcodificatori. Multiplexer/demultiplexer. Addizionatori/sottrattori. Comparatori.
10 Lunedì 8/04/2013
(3 ore - tot.: 29 ore)
Architettura del calcolatore. Funzionamento delle memorie. Operazioni di ingresso/uscita. Allineamento. Organizzazione little-endian e big-endian. Struttura del processore. Unità di controllo e unità operativa. ALU. Registri interni e registri macchina. Operazioni registro-registro e registro-memoria. Descrizione dettagliata del processo di fetch. Esempio: processore Motorola 68000. Esempio dettagliato di funzionamento interno di memoria e processore.
11 Venerdì 12/04/2013
(3 ore - tot.: 32 ore)
Istruzioni del processore. Operandi delle istruzioni. Classificazione delle istruzioni. Architetture CISC e RISC. Classi fondamentali di istruzioni. Istruzioni di trasferimento dati, logico/aritmetiche, di scorrimento, di confronto, di salto, di collegamento a sottoprogramma, di input/output.
12 Lunedì 15/04/2013
(3 ore - tot.: 35 ore)
Codifica delle istruzioni. Programmazione Assembler. Ciclo e strumenti di sviluppo. Esempio: processore Motorola 68000. Modello di programmazione. Introduzione al linguaggio assembler del processore 68000. Strumenti didattici: Assemblatore AsimTool e simulatore ASIM.
Guida dettagliata all'installazione e all'uso di Asim/AsimTool.
13 Lunedì 22/4/2013
(4 ore - tot.: 39 ore)
Assembler del processore Motorola 68000. Introduzione ai modi di indirizzamento. Register Direct; Data-register Direct; Address-register Direct; Immediato; Absolute (short e long); Address-register Indirect. Esempi.
14 Venerdì 26/4/2013
(3 ore - tot.: 42 ore)
    (vedi Lezione 13) Modi di indirizzamento. Auto-Increment; Auto-Decrement; Indexed short; Based; Based Indexed; Relative; Relative Indexed (short e long)
Esempi sui modi di indirizzamento. Esempi.
15 Lunedì 29/4/2013
(3 ore - tot.: 45 ore)
Esercizi sulla programmazione Assembler. Istruzioni base. Salti condizionati. Cicli. Allocazione di strutture dati in memoria. Accesso ad un vettore. Scorrimento di una matrice.
16 Venerdì 03/5/2013
(3 ore - tot.: 48 ore)
Ulteriori istruzioni del processore Motorola 68000. Test, Scambio, Add/Sub Quick, operazioni con immediati, moltiplicazione e divisione, trasferimento indirizzi (MOVEA), trasferimenti multipli di registri (MOVEM), confronti memoria-memoria (CMPM). Decrement-and-Branch (DBcc). Esercizi
17 Lunedì 6/5/2013
(4 ore - tot.: 52 ore)
Sviluppo di esercizi e studio degli esempi precedentemente proposti. Ulteriori programmi con vettori e matrici. Programmi con DBcc.
Strutture di controllo in assembler. Confronto con il C/C++. Costrutti if, if...else, do...while, while, for
18 Venerdì 10/5/2013
(3 ore - tot.: 55 ore)
Sottoprogrammi - Introduzione. Sottoprogrammi nei linguaggi di alto livello; procedure e funzioni. Esempi. Problematiche: linkage e scambio dei parametri. Istruzioni assembler per il collegamento a sottoprogramma. Linkage tramite registri. Linkage tramite memoria. Esempi di programmi assembler. Introduzione all'organizzazione dello Stack.
19 Lunedì 13/5/2013
(4 ore - tot.: 59 ore)
    (vedi Lezione 18) Struttura ed utilizzo dello Stack. Gestione dello stack nel processore Motorola 68000. Esempi. Linkage e passaggio di parametri tramite Stack.
20 Venerdì 17/5/2013
(3 ore - tot.: 62 ore)
    (vedi Lezione 18) Linkage e passaggio di parametri con chiamate ricorsive a sottoprogramma. Esempio dettagliato: calcolo del fattoriale tramite ricorsione. Stack Frame. Gestione dello Stack Frame nel processore Motorola 68000. Introduzione alle istruzioni LINK e UNLK.
21 Lunedì 20/5/2013
(4 ore - tot.: 66 ore)
Esempio dettagliato di gestione dello stack tramite istruzioni LINK e UNLK.
Organizzazione della memoria nel processore M68000. Spazio di indirizzamento. Dimensione dei registri indirizzi e del bus indirizzi. Aliasing. Esempi. Processori M68000 e M68020. Esercizi sull'organizzazione della memoria. Indirizzabilità a livello di byte, word e long-word.
Sottosistema di Ingresso/Uscita. Periferiche. Soluzioni per l'organizzazione dell'I/O: "I/O mapped" I/O e "memory-mapped I/O". Interfaccia della periferica. Registri di Controllo/Stato, Indirizzi, Dati. Esempio: dispositivo "Terminal"; interfaccia, registri di Controllo/Stato e Dati. Programma di esempio.
22 Venerdì 24/5/2013
(3 ore - tot.: 69 ore)
Interazione CPU-Periferiche: polling e interruzioni. Modifica al ciclo di Von Neumann per la gestione di eventi eccezionali. Modalità di esecuzione Utente e Supervisore. Esempio nel caso del processore M68000. Tipologie di interruzioni: reset, trap, interruzioni per l'I/O. Meccanismo di funzionamento delle interruzioni. Sequenza di attivazione: dettagli. Salvataggio e ripristino dello stato del programma interrotto. Latenza di un'interruzione. Interrupt multipli e priorità. Interrupt innestati. Presenza di più periferiche sulle stesse linee di interrupt. Identificazione delle periferiche: interrupt vettorizzati. Interruzioni nel M68000: linee di interruzione, livelli di priorità, interruzioni vettorizzate, tabella delle interruzioni, interruzioni autovettorizzate.
23 Lunedì 3/06/2013
(4 ore - tot.: 73 ore)
Reti logiche con memoria. Latch RS con NOR. Tabella Funzionale e Tabella di eccitazione. Latch RS con NAND. Segnale di Abilitazione. Latch di tipo D. Problemi di tempificazione con i Latch. Flip-Flop master-slave. Flip-Flop edge-triggered. Flip-Flop di tipo JK. Flip-Flop di tipo T. Ingressi diretti di preset e clear.
Macchine sequenziali: struttura realizzativa. Esempio di analisi di una rete sequenziale. Tabella e grafo di transizione. Modello Formale: Macchine a Stati Finiti. Macchine di Mealy e di Moore. Esempi. Modello realizzativo generale: modello di Huffman. Progetto di reti sequenziali. Macchine asincrone e problemi di tempificazione (cenni). Macchine sincrone autosincronizzate e a sincronizzazione esterna. Esempi dettagliati di analisi e progetto di macchine sincrone con diversi tipi di elementi di memoria.
24 Venerdì 7/06/2013
(3 ore - tot.: 76 ore)
Equivalenza tra stati e tra macchine. Problema della minimizzazione degli stati nelle macchine sequenziali. Algoritmo del partizionamento e metodo tabellare di Paull-Unger. Esempio dettagliato di minimizzazione degli stati in una macchina completa e definizione delle classi di equivalenza.
Inserite nuove tracce d'esame nella sezione Reti Logiche (Nota: le tracce sono relative all'esame di Reti Logiche e pertanto possono contenere esercizi relativi a materiale facoltativo per questo corso)
25 Lunedì 10/06/2013
(5 ore - tot.: 81 ore)
Registri. Registri a scorrimento. Contatori: contatori a cascata, sincroni, modulari.

Esercizi di riepilogo su rappresentazione, architettura, programmazione assembler, sottoprogrammi, progetto e minimizzazione di macchine combinatorie, progetto e minimizzazione di macchine sequenziali.

Esercizi


Libro di testo

  • Reti logiche
    Cristiana Bolchini, Carlo Brandolese, Fabio Salice, Donatella Sciuto.
    Seconda Edizione, Apogeo, 2008
    ISBN: 978-88-5032-833-8

Altri documenti di approfondimento


Software didattico


Ultimo aggiornamento: 9 giugno 2013