Lezione | Data | Slide / Riferimenti | Argomenti |
1 | 04/03/2013 | Introduzione al Corso. Brevi cenni storici sulla evoluzione dei calcolatori elettronici. Primi cenni introduttivi sulla architettura di un calcolatore elettronico. |
|
2 | 06/03/2013 | Informazione e sua rappresentazione. Codici a lunghezza fissa ed a lunghezza variabile. Codici binari. Esempi di codici. Codifica indiretta. Rappresentazione posizionale dei numeri. Sistemi binario, ottale ed esadecimale. Conversioni da base 2 a base 8 o 16 (e viceversa). Conversione da base 10 a base 2 per numeri interi (divisioni successive). Conversione da base 10 a base 2 per numeri frazionari (moltiplicazioni successive). Considerazioni sulla periodicità della parte frazionaria. |
|
3 | 08/03/2013 | Rappresentazione di numeri naturali. 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 macchina dei caratteri. |
|
4 | 11/03/2013 | Algebra di Boole. Proprietà fondamentali. Cenni alla definizione di Algebra di Boole come reticolo. Modelli di algebre di Boole: algebra delle proposizioni, algebra degli insiemi ed algebra dei circuiti. Porte logiche elementari e loro composizione. |
|
5 | 13/03/2013 | Funzioni booleane di 2 variabili. Mintermini e maxtermini. Forma normale di tipo P (SOP) e di tipo S (POS) di una funzione booleana. |
|
6 | 15/03/2013 |
Implicanti di una funzione. Implicanti primi. Mappe di Karnaugh. Rappresentazione sulle mappe di clausole di ordine n-i. |
|
7 | 18/03/2013 | Funzioni NAND e NOR. Proprietà di NAND e NOR. Forme NAND e NOR di una funzione booleana. Esercizi di trasformazione in forma NAND ed in forma NOR (vedi slide lezione precedente). |
|
8 | 20/03/2013 | 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. Mappe di Karnaugh. Rappresentazione di clausole e fattori elementari sulle MdK. Minimizzazione sulle mappe di Karnaugh. Problema di copertura: matrice di copertura, metodo delle righe e colonne dominanti. |
|
9 | 22/03/2013 | Ricerca dei primi implicanti con il metodo di Quine-McCluskey. Esempio di minimizzazione di funzione con Quine-McCluskey. Minimizzazione di funzioni completamente specificate sia con le mappe di Karnaugh che con il metodo di Quine-McCluskey. |
|
10 | 25/03/2013 | Introduzione all'architettura del calcolatore. Il processore. Modello a registri generali. Ciclo del processore. La memoria centrale. Interfacciamento CPU-memoria. |
|
27/03/2012 | Breve presentazione del progetto Hobbit. | ||
11 | 27/03/2013 | Funzioni incompletamente specificate. Minimizzazione di funzioni incompletamente specificate sia con le mappe di Karnaugh che con il metodo di Quine-McCluskey. Progetto di macchine combinatorie. Progetto di un transcodificatore per display a 7 segmenti. |
|
12 | 05/04/2013 | Processori big-endian e little-endian. Primi cenni sul processore MC68000: modello di programmazione e codifica delle istruzioni. |
|
13 | 08/04/2013 |
Introduzione al linguaggio macchina. Classi di istruzioni l/m. |
|
14 | 10/04/2013 | 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. |
|
15 | 12/04/2013 | Introduzione al linguaggio assembly. Formato delle istruzioni in assembly. Etichette. Direttive di assemblaggio. |
|
16 | 15/04/2013 | Macchine combinatorie fondamentali: encoder e decoder, multiplexer e demultiplexer. Alee in reti combinatorie. |
|
17 | 19/04/2013 | Macchine combinatorie: reti universali. Mux come generatore di funzioni. Logica ROM. PLA. |
|
18 | 22/04/2013 | Primo esempio di programma assembler per il processore MC68000. Il programma assemblatore. Tabella dei simboli. Riferimenti in avanti ed assemblatore a 2 passi. Il Program Location Counter. AsimTool. Ambiente di simulazione Asim. |
|
19 | 24/04/2013 | Gestione degli indirizzi nel processore MC68000: aliasing degli indirizzi. Modi di indirizzamento: diretto a registro, assoluto ed immediato. Manuale assembler del processore MC68000. Esercizi di programmazione assembler. |
|
20 | 29/04/2013 | Modi di indirizzamento: indiretto, indiretto con predecremento, indiretto con postincremento. Uso dei modi con predecremento e postincremento per push e pop su una struttura a stack. Istruzioni l/m di comparazione. Istruzioni l/m di salto condizionato. Esercizi di programmazione assembler. |
|
21 | 03/05/2013 | Automi a stati finiti. Modelli di Moore e di Mealy. Rappresentazione di ASF mediante tabelle e mediante grafi. Macchine sequenziali. Def. di stato stabile sotto un dato ingresso. Macchine sequenziali asincrone. Modello fondamentale. |
|
22 | 06/05/2013 | 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. |
|
23 | 08/05/2013 | Esercizi assembler. | |
24 | 10/05/2013 | Tempificazione dei flip-flop: latch ed edge-triggered. Flip-flop RS e D edge-triggered. Flip-flop JK e T. Ingressi di posizionamento asincroni dei flip-flop commerciali. |
|
25 | 13/05/2013 | Codifica in assembler di tipici costrutti di controllo del flusso di programma. MC68000: modi di indirizzamento avanzati: Indirect with displacement, Indirect with displacement and index, PC-relative, PC-relative indexed. |
|
26 | 15/05/2013 | Macchine sequenziali sincrone. Tabelle di transizione e schema realizzativo. Metodologia di progetto delle reti sincrone. Progetto di un contatore sincrono mod-8 con FF e.t. di tipo D. |
|
27 | 17/05/2013 |
|
Progetto di un contatore sincrono mod-10 con FF e.t. di tipo JK. Contatori sincroni: ingressi di reset e precaricamento sia sincrono che asincrono. |
28 | 20/05/2013 |
Gestione dei sottoprogrammi in linguaggio macchina: problema del collegamento e del passaggio dei parametri. Uso dello stack per il collegamento e per l'allocazione del record di attivazione. Frame pointer. MC68000: istruzioni JSR, RTS, LINK, UNLK, MOVEM. |
|
29 | 22/05/2013 |
|
Riduzione del modulo di un contatore mediante precaricamento o reset sincrono. Progetto di un riconoscitore di sequenza 1010 sincrono. Shift register. Contatori di Johnson. |
30 | 24/05/2013 |
|
Contatori sincroni composti. Contatore mod-24. Contatori asincroni (ripple counter). Esercizi di progetto e di analisi di macchine sequenziali sincrone. Riconoscitore di codice 8421. |
31 | 27/05/2013 |
|
Concetto di equivalenza e compatibilità tra stati. Minimizzazione degli stati con il metodo di Paull-Unger per macchine completamente specificate. |
32 | 29/05/2013 | Memorie RAM. Schemi di selezione. Semiselezione. Tempo di accesse e tempo di ciclo. Collegamenti di chip di memoria per aumentare la capacità ed il parallelismo. SRAM vs. DRAM. Tipologie di ROM. |
|
33 | 31/05/2013 | Il sistema delle interruzioni. | |
34 | 03/06/2013 | Il sistema delle interruzioni del processore MC68000. Interruzioni vettorizzate ed autovettorizzate. Istruzione RTE. Interrupt, eccezioni e trap. |
|
35 | 05/06/2013 | 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 ed handskake. Interfacce con capacità DMA. Processori di I/O (cenni). Architettura interna della CPU. Cenni al ruolo della unità di controllo della CPU. |
|
36 | 07/06/2013 |
|
Esercizi di programmazione assembly. Altri esercizi di progetto di macchine sequenziali. |
![]() |
|
O IN ALTERNATIVA: | ![]() |
|
![]() |
|
|||
![]() |
|
Ultimo aggiornamento: 1 settembre 2013