Calcolatori Elettronici I

Università degli Studi di Napoli Federico II

Corso di Laurea in Ingegneria Informatica, allievi A-DE

Corso di Laurea in Ingegneria dell'Automazione

Prof. Roberto Canonico


A.A. 2012-13

AVVISO: E' opportuno che gli studenti che seguono il corso di Calcolatori Elettronici I del prof. Canonico si iscrivano al corso sul sito http://www.docenti.unina.it/roberto.canonico mediante la apposita procedura.

Programma dettagliato delle lezioni svolte

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

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
  • 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.
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
  • 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. Contatori di Johnson.
30 24/05/2013
  • Libro Fadini-Mazzocca (Cap. V)
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
  • Libro Fadini-Mazzocca (Cap. V)
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
  • Lezione 36
Esercizi di programmazione assembly.
Altri esercizi di progetto di macchine sequenziali.

Libro di testo

O IN ALTERNATIVA:

Altri documenti di approfondimento


Software didattico


Esercizi


Edizioni precedenti del corso


roberto.canonico at unina.it

Ultimo aggiornamento: 1 settembre 2013