Lezione | Data | Slide / Riferimenti | Argomenti |
1 | 07/03/2019 | Introduzione al Corso. Brevi cenni storici sulla evoluzione dei calcolatori elettronici. Primi cenni introduttivi sulla architettura di un calcolatore elettronico. |
|
2 | 11/03/2019 | 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. 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. |
|
3 | 12/03/2019 |
Rappresentazione in complementi diminuiti. Rappresentazione per eccessi (vedi slide lezione 2). 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. |
|
14/03/2019 |
LEZIONE ANNULLATA. Nell'orario della lezione di "Calcolatori Elettronici I" si svolgerà la lezione di "Geometria ed Algebra" del prof. Francesco D'Andrea. |
||
4 | 18/03/2019 |
Funzioni booleane e tabella di verità. Funzioni booleane di 2 variabili. Mintermini e maxtermini. Forma normale di tipo P e di tipo S di una funzione booleana. |
|
5 | 19/03/2019 |
Relazione d'ordine parziale in un'algebra di Boole. Implicazione come relazione d'ordine nell'algebra delle proposizioni. Implicanti di una funzione. Generazione di consensi tra mintermini. Clausole e fattori elementari. Implicanti primi. Mappe di Karnaugh. Rappresentazione di clausole sulle Mappe di Karnaugh. Individuazione degli implicanti primi sulle mappe di Karnaugh. |
|
6 | 21/03/2019 | 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 sulla mappa di Karnaugh per funzioni fino a 4 variabili. Espansione sulla mappa di Karnaugh per una funzione di 5 variabili. Primi implicanti essenziali. Funzioni cicliche. Copertura mediante mappe di Karnaugh e mediante matrice di copertura. Semplificazione della matrice di copertura: righe e colonne dominanti. |
|
7 | 25/03/2019 |
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. |
|
8 | 26/03/2019 |
Macchine combinatorie fondamentali: half e full adder. Addizionatore binario parallelo a propagazione del riporto. Addizionatore binario con anticipo del riporto: rete di carry look-ahead. |
|
28/03/2019 |
LEZIONE ANNULLATA. Nell'orario della lezione di "Calcolatori Elettronici I" si svolgerà la lezione di "Geometria ed Algebra" del prof. Francesco D'Andrea. |
||
9 | 01/04/2019 |
Funzioni NAND e NOR. Proprietà di NAND e NOR. Forme NAND e NOR di una funzione booleana. Encoder e decoder. Composizione di decoder. Arbitro di priorità. Multiplexer lineari. |
|
10 | 02/04/2019 |
Multiplexer e demultiplexer lineari ed indirizzabili (vedi slide lezione precedente). Porte abilitanti tristate. Multiplexer con porte tristate. Effetti dei ritardi nelle macchine combinatorie. Alee in reti combinatorie: alee statiche e dinamiche. |
|
11 | 04/04/2019 |
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: definizione e modello fondamentale. |
|
12 | 08/04/2019 |
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. Tempificazione dei flip-flop: latch ed edge-triggered. |
|
13 | 09/04/2019 |
Tempificazione dei flip-flop: latch ed edge-triggered (continua). Flip-flop RS e D edge-triggered: tabella delle transizioni di stato e circuito. Flip-flop JK e T edge-triggered: tabella delle transizioni di stato. |
|
14 | 11/04/2019 |
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. Tabella di eccitazione di un FF di tipo D. Tabelle di eccitazione dei FF di tipo JK e T. 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 e con FF di tipo T. |
|
15 | 15/04/2019 |
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. Macchine combinatorie: reti universali. Realizzazione di macchine combinatorie mediante multiplexer, ROM o PLA. |
16 | 16/04/2019 |
Contatori sincroni composti. Contatore mod-256. Contatore decadico mod-100. Contatore mod-24. Progetto di una macchina sequenziale sincrona (cfr. esercizio 1 della prova intracorso dell'a.a. 2016/2017. |
|
17 | 29/04/2019 |
Progetto di un riconoscitore di sequenza 1100 sincrono. Esercizio di analisi di una rete sincrona. Contatori asincroni (ripple counter). Registri sincroni: parallel-in/parallel-out, serial-in/serial-out, serial-in/parallel-out. Registri a scorrimento circolare. Contatore di Johnson. Uso di multiplexer in registri a scorrimento shift/right. |
|
18 | 30/04/2019 |
|
Concetto di equivalenza tra stati. Minimizzazione degli stati con il metodo di Paull-Unger per macchine completamente specificate. Riconoscitore di codice 8421: minimizzazione degli stati e progetto della rete sequenziale con FF T. |
19 | 02/05/2019 |
Definizione di compatibilitā tra stati in una macchina sequenziale incompletamente specificata. Differenza tra equivalenza e compatibilitā tra stati. Progetto di una macchina sequenziale comparatore seriale. Comparatore parallelo come macchina combinatoria. |
20 | 06/05/2019 |
Introduzione all'architettura del calcolatore. Il processore. Ciclo del processore. Interfacciamento processore-memoria. Rappresentazione in memoria di dati di tipo word: disposizione big-endian e little-endian. Word allineate e non allineate. Processore: modello ad accumulatore e modello a registri generali. Primi esempi di codici in linguaggio macchina per processori ad accumulatore ed a registri generali. Codifica delle istruzioni in linguaggio macchina. Il modello di programmazione del processore Motorola MC68000. |
07/05/2019 | LEZIONE ANNULLATA. | ||
09/05/2019 | LEZIONE ANNULLATA PER INDISPONIBILITA' AULE. | ||
21 | 10/05/2019 | PROVA INTRACORSO. | |
22 | 13/05/2019 |
Introduzione al linguaggio macchina. Classi di istruzioni l/m. Introduzione al linguaggio assembly. Formato delle istruzioni in assembly. |
|
23 | 14/05/2019 |
Intruduzione al linguaggio assembly MC68000. Direttive di assemblaggio: ORG, END, EQU, DC, DS. Funzionamento dell'assemblatore. Tabella dei simboli. Assemblaggio in due passi. AsimTool. Ambiente di simulazione Asim. |
|
24 | 16/05/2019 |
Modi di indirizzamento: diretto a registro, assoluto ed immediato, indiretto, indiretto con predecremento, indiretto con postincremento. Primi esempi di programmi in linguaggio assembly MC68000. |
|
25 | 20/05/2019 |
Esempi di programmi assembly MC68000: prodotto di due numeri interi tramite somme successive, prodotto scalare di vettori di interi. Istruzione LEA. Istruzioni aritmetiche, logiche, di comparazione e salto del processore MC68000. Istruzioni del processore MC68000: ADD, SUB, NEG, MUL, MULU. Flag del processore e loro settaggio da parte delle istruzioni aritmetiche e di comparazione. |
|
26 | 21/05/2019 |
Istruzioni di salto assoluto (jump) e salto relativo (branch): differenze nella codifica in linguaggio macchina. Istruzioni di salto condizionato (Bcc) del processore MC68000. |
|
27 | 23/05/2019 |
Codifica in assembler di tipici costrutti di controllo del flusso di programma. Gestione di uno stack attraverso i modi di indirizzamento con predecremento e postincremento. Aritmetica in precisione multipla: il flag X e l'istruzione ADDX. Codifica dei caratteri. Esercizi di programmazione assembler MC68000: ricerca di un token in una string. |
|
28 | 27/05/2019 |
MC68000: modi di indirizzamento avanzati: Indirect with displacement, Indirect with displacement and index. Gestione dei sottoprogrammi in linguaggio macchina: problema del collegamento e del passaggio dei parametri. Uso dei registri per il collegamento (istruzione jal dei processori RISC). Passaggio di parametri attraverso registri del processore. Uso dello stack per il collegamento. Uso dello stack per l'allocazione del record di attivazione. Frame pointer. |
|
29 | 28/05/2019 |
MC68000: istruzioni JSR, RTS, LINK, UNLK, MOVEM. Esercizi di programmazione assembler MC68000: trasformazione lettere minuscole in maiuscole in una stringa di caratteri (subroutine touppercase), calcolo della potenza x^y con subroutine. Esecuzione di programmi con subroutine nel simulatore ASIM. |
|
30 | 30/05/2019 |
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. Breve presentazione dei processori ARM (cenni). |
|
31 | 03/06/2019 |
Il sistema delle interruzioni. Interruzioni vettorizzate ed autovettorizzate. Il sistema delle interruzioni del processore MC68000. Istruzione RTE. Livelli di privilegio del processore MC68000. |
|
32 | 04/06/2019 |
Architettura interna della CPU. |
Cenni al ruolo della unitā di controllo della CPU. Analisi della fase fetch del processore. Identificazione della richiesta di interruzione: daisy chaining, polling o handshaking. Interrupt, eccezioni e trap. |
33 | 06/06/2019 |
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. |
![]() |
|
|||
![]() |
|
O IN ALTERNATIVA: | ![]() |
|
![]() |
|
![]() |
|
![]() |
Ultimo aggiornamento: 6 giugno 2019