Lezione | Data | Slide / Riferimenti | Argomenti |
1 | 06/03/2017 | Introduzione al Corso. Brevi cenni storici sulla evoluzione dei calcolatori elettronici. Primi cenni introduttivi sulla architettura di un calcolatore elettronico. |
|
2 | 10/03/2017 | Informazione e sua rappresentazione. Codici a lunghezza fissa ed a lunghezza variabile. Codici binari. Esempi di codici. Rappresentazione posizionale dei numeri. Sistemi binario, ottale ed esadecimale. Rappresentazione di numeri naturali. Codifica di caratteri. Il codice ASCII. |
|
3 | 13/03/2017 |
|
Rappresentazione di numeri interi relativi: rappresentazione in segno e modulo ed in complementi. Rappresentazione in complementi alla base. Funzione resto-modulo-M. Algoritmi di complementazione. Estensione della rappresentazione. Aritmetica in complementi. Overflow. Rappresentazione in complementi diminuiti. Rappresentazione per eccessi. |
4 | 14/03/2017 |
|
Algebra di Boole. Proprietā fondamentali. Definizione di Algebra di Boole. Teorema di De Morgan ed altre proprietà dell'algebra di Boole. Modelli di algebre di Boole: algebra delle proposizioni, algebra degli insiemi ed algebra dei circuiti. Porte logiche elementari e loro composizione. Funzioni booleane e tabella di verità. Funzioni booleane di 2 variabili (vedi slide lezione 5 parte I). Clausole e fattori elementari. Mintermini e maxtermini. |
5 | 17/03/2017 | Forma normale di tipo P e di tipo S di una funzione booleana. Mappe di Karnaugh. Rappresentazione di clausole e fattori elementari sulle Mappe di Karnaugh. Implicanti di una funzione. Implicanti primi. |
|
6 | 20/03/2017 |
|
Introduzione al problema della minimizzazione di funzioni booleane. Metriche per la misura del costo di una funzione: costo di porte, costo di letterali, costo di ingressi. Ricerca dei primi implicanti: espansione. Primi implicanti essenziali. Funzioni cicliche. |
7 | 21/03/2017 |
|
Minimizzazione di funzioni booleane. Espansione ed individuazione dei primi implicanti essenziali sulle mappe di Karnaugh per funzioni fino a 5 variabili. Copertura attraverso matrice di copertura. Semplificazione della matrice di copertura: righe e colonne dominanti. |
8 | 24/03/2017 |
Minimizzazione di funzioni booleane: espansione con il metodo di McCluskey. Funzioni incompletamente specificate. Minimizzazione di funzioni incompletamente specificate con le mappe di Karnaugh e con la matrice di copertura. Progetto di un transcodificatore per display a 7 segmenti. Funzioni NAND e NOR. Proprietà di NAND e NOR. Forme NAND e NOR di una funzione booleana. |
|
9 | 27/03/2017 |
|
Macchine combinatorie fondamentali. Addizionatori binari. Half e full adder. Addizionatore binario parallelo a propagazione del riporto. Addizionatore binario con anticipo del riporto: rete di carry look-ahead. |
10 | 28/03/2017 |
Encoder e decoder, multiplexer e demultiplexer. Composizione di decoder. Macchine combinatorie: reti universali. Realizzazione di macchine combinatorie mediante multiplexer, ROM o PLA. Automi a stati finiti. Modelli di Moore e di Mealy. Rappresentazione di ASF mediante tabelle e mediante grafi. |
|
11 | 31/03/2017 |
|
Macchine sequenziali. Def. di stato stabile sotto un dato ingresso. Macchine sequenziali asincrone. Modello fondamentale. Il flip flop RS fondamentale come macchina asincrona. Circuito a NOR ed a NAND: analisi. Problemi di tempificazione del flip-flop RS fondamentale. Flip-flop RS abilitato latch. Flip-flop D latch. |
12 | 03/04/2017 |
|
Tempificazione dei flip-flop: latch ed edge-triggered. Flip-flop RS e D edge-triggered. Flip-flop JK e T. Macchine sequenziali sincrone. Tabelle di transizione e schema realizzativo. Metodologia di progetto delle reti sincrone. Introduzione ai contatori sincroni. Progetto di un contatore sincrono mod-8 con FF e.t. di tipo D. |
13 | 04/04/2017 |
|
Progetto di un contatore sincrono mod-16 con FF e.t. di tipo JK. Progetto di contatori a crescere ed a decrescere (up/down). Progetto di un contatore sincrono mod-10 con FF e.t. di tipo JK. |
14 | 07/04/2017 |
|
Ingressi di posizionamento asincroni dei flip-flop commerciali. Contatori sincroni: ingressi di reset e precaricamento sia sincrono che asincrono. Riduzione del modulo di un contatore mediante precaricamento o reset sincrono. Contatori sincroni composti. Contatore mod-256. Contatore decadico mod-100. Contatore mod-24. Progetto di un riconoscitore di sequenza 101 con FF e.t. di tipo D. |
15 | 10/04/2017 |
|
Esercizio di analisi di una rete sincrona. Pogetto di un contatore sincrono mod-8 con sequenza Gray. Progetto di un riconoscitore di sequenza 0011 sincrono. |
16 | 11/04/2017 | LEZIONE ANNULLATA. | |
16 | 21/04/2017 |
|
Concetto di equivalenza e compatibilitā tra stati. Minimizzazione degli stati con il metodo di Paull-Unger per macchine completamente specificate. Riconoscitore di codice 8421: minimizzazione degli stati. Riconoscitore di codice 8421: progetto della rete sequenziale. Altri esercizi di analisi e progetto di macchine sequenziali sincrone. |
17 | 24/04/2017 |
|
Effetti dei ritardi nelle macchine combinatorie. Contatori asincroni (ripple counter). Consultazione di datasheet di componenti commerciali. |
18 | 28/04/2017 | PROVA INTRACORSO. | |
19 | 02/05/2017 |
Introduzione all'architettura del calcolatore. Il processore. Ciclo del processore. Processore: Modello ad accumulatore e modello a registri generali. Primi esempi di codici in linguaggio macchina per processori ad accumulatore ed a registri generali. Architetture a stack (cenni). Il modello di programmazione del processore Motorola MC68000. Codifica delle istruzioni in linguaggio macchina.Rappresentazione in memoria di dati di tipo word: disposizione big-endian e little-endian. Word allineate e non allineate. Seminario Samsung Italia e Ranstadt. |
|
20 | 05/05/2017 |
|
Introduzione al linguaggio macchina. Classi di istruzioni l/m. Primi cenni sul processore MC68000: modello di programmazione e codifica delle istruzioni. Introduzione al linguaggio assembly. Formato delle istruzioni in assembly. |
21 | 08/05/2017 |
|
Primi esempi di programmi in linguaggio assembly. Direttive di assemblaggio per la gestione dei dati. Funzionamento dell'assemblatore. Tabella dei simboli. Assemblaggio in due passi. Modi di indirizzamento: diretto a registro, assoluto ed immediato. AsimTool. Ambiente di simulazione Asim. Primi esempi di programmi assembly MC68000 e loro esecuzione in Asim. |
22 | 09/05/2017 |
|
Modi di indirizzamento: indiretto, indiretto con predecremento, indiretto con postincremento. Manuale assembler del processore MC68000. |
23 | 12/05/2017 | LEZIONE ANNULLATA. | |
23 | 15/05/2017 |
|
Istruzioni in l/m e settaggio dei flag. Istruzioni aritmetiche, logiche, di comparazione e salto del processore MC68000. Istruzioni di salto condizionato (Bcc) del processore MC68000. Esercizi di programmazione assembler MC68000: prodotto scalare di vettori di interi, ricerca di un token in una stringa. |
24 | 16/05/2017 |
MC68000: modi di indirizzamento avanzati: Indirect with displacement, Indirect with displacement and index. Istruzione LEA. Codifica in assembler di tipici costrutti di controllo del flusso di programma. |
|
25 | 19/05/2017 |
|
Gestione di uno stack attraverso i modi di indirizzamento con predecremento e postincremento. Gestione dei sottoprogrammi in linguaggio macchina: problema del collegamento e del passaggio dei parametri. Uso dello stack per il collegamento. |
26 | 22/05/2017 |
|
Uso dello stack per l'allocazione del record di attivazione. Frame pointer. MC68000: istruzioni JSR, RTS, LINK, UNLK, MOVEM. |
27 | 23/05/2017 |
Esercizi di programmazione assembly: trasformazione lettere minuscole in maiuscole in una stringa di caratteri (touppercase). Analisi del codice assembly MC68000 prodotto da un compilatore C (file programmi-C.zip). Breve presentazione dei processori ARM (cenni). |
|
28 | 26/05/2017 |
|
Gerarchia di memorie in un calcolatore. Memorie indirizzabili vs. memorie content-addressable. Memorie RAM. Schemi di selezione. Selezione lineare e semiselezione. SRAM vs. DRAM. Collegamenti di chip di memoria per aumentare la capacitā. Interfacciamento CPU-memoria. Schemi asincroni e sincroni. SDRAM. Shift register. Contatori di Johnson. |
29 | 29/05/2017 |
|
Il sistema delle interruzioni. Interruzioni vettorizzate ed autovettorizzate. Identificazione della richiesta di interruzione: daisy chaining, polling o handshaking. Il sistema delle interruzioni del processore MC68000. Istruzione RTE. |
30 | 30/05/2017 |
|
Livelli di privilegio del processore MC68000. Interrupt, eccezioni e trap. Architettura interna della CPU. Cenni al ruolo della unitā di controllo della CPU. Analisi della fase fetch del processore. |
31 | 05/06/2017 |
|
Il sistema di I/O. I/O memory mapped vs. I/O isolato. Sincronizzazione del colloquio CPU-periferica: I/O programmato, I/O con interruzioni. Esempio di driver con I/O programmato e con interruzioni. Interfacce con capacitā DMA. |
32 | 06/06/2017 |
|
Esercizi su analisi e sintesi di macchine sequenziali sincrone. Esercizio sul progetto di una macchina sincrona "contatore di uno ogni tre bit". Esercizi di programmazione assembly MC68000. Esercizio di programmazione assembly: subroutine per il calcolo della somma degli elementi positivi in un array di interi. |
![]() |
|
|||
![]() |
|
O IN ALTERNATIVA: | ![]() |
|
Ultimo aggiornamento: 6 giugno 2017