Calcolatori Elettronici I

Università degli Studi di Napoli Federico II

Corso di Laurea in Ingegneria Informatica, allievi A-DE e Q-Z

Corso di Laurea in Ingegneria dell'Automazione

Prof. Roberto Canonico


A.A. 2010-11

Programma dettagliato delle lezioni svolte

Le slide delle lezioni verranno pubblicate in formato PDF dopo ciascuna lezione.

Lezione Data Slide / Riferimenti Argomenti
1 14/03/2011 Introduzione al Corso. Brevi cenni storici sulla evoluzione dei calcolatori elettronici.
Primi cenni introduttivi sulla architettura di un calcolatore elettronico.
2 15/03/2011 Informazione e sua rappresentazione. Codici a lunghezza fissa ed a lunghezza variabile.
Codici binari. Esempi di codici. Codifica indiretta.
3 18/03/2011 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.
Rappresentazione in macchina dei numeri naturali e problemi di overflow.
Esercizi in C per studiare la rappresentazione in macchina dei numeri.
Rappresentazione in macchina dei caratteri.
4 21/03/2011 Rappresentazione di numeri naturali.
Rappresentazione di numeri interi relativi: rappresentazione in segno e modulo, in complementi e per eccessi.
Rappresentazione in complementi alla base ed in complementi diminuiti.
Algoritmi di complementazione. Estensione della rappresentazione.
Aritmetica in complementi. Overflow.
5 22/03/2011 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.
6 25/03/2011 Funzioni booleane di 2 variabili.
Mintermini e maxtermini.
Forma normale di tipo P (SOP) e di tipo S (POS) di una funzione booleana.
7 28/03/2011 Implicanti di una funzione. Implicanti primi.
Mappe di Karnaugh.
Rappresentazione sulle mappe di clausole di ordine n-i.
8 29/03/2011 Funzioni NAND e NOR.
Proprietà di NAND e NOR.
Forme NAND e NOR di una funzione booleana.
9 01/04/2011 Funzioni incompletamente specificate.
Minimizzazione sulle mappe di Karnaugh.
Matrice di copertura.
10 04/04/2011 Ricerca dei primi implicanti con il metodo di Quine-McCluskey.
Problema di copertura: metodo delle righe e colonne dominanti.
Esempio di minimizzazione di funzione con Quine-McCluskey.
11 05/04/2011 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 08/04/2011 Macchine combinatorie fondamentali: encoder e decoder, multiplexer e demultiplexer.
Esercizi.
13 11/04/2011 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.
14 12/04/2011 Macchine combinatorie: reti universali.
Mux come generatore di funzioni. Logica ROM. PLA.
Alee in reti combinatorie.
15 15/04/2011 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.
16 18/04/2011 Il flip flop RS fondamentale come macchina asincrona.
Circuito a NOR ed a NAND: analisi.
Problemi di tempificazione del flip-flop RS fondamentale.
17 19/04/2011 Tempificazione dei flip-flop: latch ed edge-triggered.
Flip-flop RS abilitato latch. Flip-flop D latch.
Flip-flop RS e D edge-triggered.
Flip-flop JK e T.
Ingressi di posizionamento asincroni dei flip-flop commerciali.
18 29/04/2011 Introduzione all'architettura del calcolatore.
Il processore. Modello a registri generali. Ciclo del processore.
La memoria centrale. Processori big-endian e little-endian.
Primi cenni sul processore MC68000: modello di programmazione e codifica delle istruzioni.
19 02/05/2011 Introduzione al linguaggio macchina.
Classi di istruzioni l/m.
20 03/05/2011 Introduzione al linguaggio assembly.
Formato delle istruzioni in assembly.
Etichette. Direttive di assemblaggio.
Il Program Location Counter.
AsimTool.
06/05/2011 Breve presentazione del progetto Hobbit.
21 06/05/2011 Gestione degli indirizzi nel processore MC68000: aliasing degli indirizzi.
Modi di indirizzamento: diretto a registro, assoluto ed immediato.
Manuale assembler del processore MC68000.
22 10/05/2011 Esempi di programmi assembler per il processore MC68000.
Ambiente di simulazione Asim.
23 13/05/2011 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.
Esercizi di programmazione assembler.
24 16/05/2011 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.
25 17/05/2011 Istruzioni l/m di comparazione. Istruzioni l/m di salto condizionato.
Codifica in assembler di tipici costrutti di controllo del flusso di programma.
26 20/05/2011 MC68000: modi di indirizzamento avanzati:
Indirect with displacement, Indirect with displacement and index, PC-relative, PC-relative indexed.
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.
27 23/05/2011 Macchine sequenziali sincrone. Tabelle di transizione e schema realizzativo.
Metodologia di progetto delle reti sincrone.
Progetto di un contatore sincrono mod-10 con FF e.t. di tipo D.
28 24/05/2011 Esercitazione: programmi assembler per il processore MC68000.
Esecuzione di programmi assembler nell'ambiente di simulazione Asim.
29 27/05/2011
  • Libro Fadini-Mazzocca (Cap. V)
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.
30 30/05/2011
  • Libro Fadini-Mazzocca (Cap. V)
Riduzione del modulo di un contatore mediante precaricamento o reset sincrono.
Progetto di un riconoscitore di sequenza 1010 sincrono.
Shift register.
31 31/05/2011 Esercitazione: programmi assembler per il processore MC68000.
Esecuzione di programmi assembler nell'ambiente di simulazione Asim.
32 03/06/2011 Il sistema delle interruzioni.
33 06/06/2011
  • Lezione 33
Esercizi di progetto di macchine sequenziali sincrone.
34 07/06/2011
  • Lezione 34
Esercizi di progetto di macchine sequenziali sincrone.
35 10/06/2011 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).
36 13/06/2011
  • Lezione 36
Architettura interna della CPU.
Cenni al ruolo della unità di controllo della CPU.
37 14/06/2011
  • Lezione 37
Esercizi di programmazione assembly.
Altri esercizi di progetto di macchine sequenziali.

Software didattico


Esercizi


Esami


Libro di testo

Altri documenti di approfondimento


roberto.canonico at unina.it

Ultimo aggiornamento: 7 luglio 2011