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. 2013-14

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

Lezione Data Slide / Riferimenti Argomenti
1 10/03/2014 Introduzione al Corso. Brevi cenni storici sulla evoluzione dei calcolatori elettronici.
Primi cenni introduttivi sulla architettura di un calcolatore elettronico.
2 12/03/2014 Informazione e sua rappresentazione. Codici a lunghezza fissa ed a lunghezza variabile.
Codici binari. Esempi di codici. Codifica indiretta.
3 14/03/2014
    Lezione 3 (parte 1):
  • Slide
  • Lezione 3 (parte 2):
  • Slide
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 di numeri naturali.
4 17/03/2014 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.
5 19/03/2014
    Lezione 5 (parte 1):
  • Slide
  • Lezione 5 (parte 2):
  • Slide
  • Lezione 5 (parte 3):
  • Slide
Rappresentazione di numeri in virgola fissa e mobile. Lo standard IEEE 754.
Codifica di caratteri. Il codice ASCII.
Algebra di Boole. Proprietà fondamentali.
6 21/03/2014 Definizione di Algebra di Boole come reticolo.
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.
7 24/03/2014 Funzioni booleane di 2 variabili.
Mintermini e maxtermini.
Forma normale di tipo P (SOP) e di tipo S (POS) di una funzione booleana.
8 26/03/2014 Implicanti di una funzione. Implicanti primi.
Mappe di Karnaugh.
Rappresentazione di clausole e fattori elementari sulle Mappe di Karnaugh.
9 28/03/2014 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 ed individuazione dei primi implicanti essenziali sulle mappe di Karnaugh.
10 31/03/2014 Minimizzazione di funzioni booleane.
Ricerca dei primi implicanti sulle mappe di Karnaugh.
Problema di copertura: matrice di copertura, metodo delle righe e colonne dominanti.
11 02/04/2014 Introduzione all'architettura del calcolatore.
Il processore. Modello ad accumulatore. Modello a registri generali.
Ciclo del processore.
12 04/04/2014
    Lezione 12 (parte 1):
  • Slide
  • Lezione 12 (parte 2):
  • Slide
Progetto di macchine combinatorie.
Funzioni incompletamente specificate.
Minimizzazione di funzioni incompletamente specificate con le mappe di Karnaugh e matrice di copertura.
Funzioni NAND e NOR. Proprietà di NAND e NOR.
Forme NAND e NOR di una funzione booleana.
13 07/04/2014
  • Libro Fadini-Mazzocca (Cap. I es.5)
  • Lezione 13:
  • Slide
Progetto di un transcodificatore per display a 7 segmenti.
Macchine combinatorie fondamentali: addizionatori binari.
Half e full adder.
14 09/04/2014
    Lezione 14 (parte 1):
  • Slide
  • Lezione 14 (parte 2):
  • Slide
La memoria centrale. Interfacciamento CPU-memoria.
Processori big-endian e little-endian.
Primi cenni sul processore MC68000: modello di programmazione e codifica delle istruzioni.
Introduzione al linguaggio macchina. Classi di istruzioni l/m.
15 11/04/2014
    Lezione 15 (parte 1):
  • Slide
  • Lezione 15 (parte 2):
  • Slide
Addizionatore binario parallelo a propagazione del riporto.
Addizionatore binario con anticipo del riporto: rete di carry look-ahead.
Macchine combinatorie fondamentali: encoder e decoder, multiplexer e demultiplexer.
16 14/04/2014
    Lezione 16:
  • Slide
  • Documenti sul sito docenti nell'area
    Materiale Didattico/ Calcolatori_Elettronici_I /Documenti
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.
17 16/04/2014 Introduzione al linguaggio assembly.
Formato delle istruzioni in assembly.
Etichette. Direttive di assemblaggio.
Il programma assemblatore. Tabella dei simboli.
Riferimenti in avanti ed assemblatore a 2 passi.
18 28/04/2014
    Lezione 18: Riferimento Cap. 5 del testo "Reti Logiche: complementi ed esercizi"
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.
19 30/04/2014
    Lezione 19
Primi esempi di programmi assembly per il processore MC68000.
20 05/05/2014
    Lezione 20: Riferimento Cap. 5 del testo "Reti Logiche: complementi ed esercizi"
Tempificazione dei flip-flop: latch ed edge-triggered.
Flip-flop RS e D edge-triggered.
Flip-flop JK e T.
21 07/05/2014
    Lezione 21: Riferimento Cap. 5 del testo "Reti Logiche: complementi ed esercizi"
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.
22 09/05/2014
    Lezione 22
Esercizi di programmazione assembly.
AsimTool. Ambiente di simulazione Asim.
23 12/05/2014
    Lezione 23: Riferimento Cap. 5 del testo "Reti Logiche: complementi ed esercizi"
    Lezione 23 (parte 2):
  • Slide
Progetto di un contatore sincrono mod-8 con FF e.t. di tipo JK.
Ingressi di posizionamento asincroni dei flip-flop commerciali.
Contatori sincroni: ingressi di reset e precaricamento sia sincrono che asincrono.
Macchine combinatorie: reti universali.
Mux come generatore di funzioni.
24 14/05/2014 Gestione degli indirizzi nel processore MC68000: aliasing degli indirizzi.
Modi di indirizzamento: diretto a registro, assoluto ed immediato.
Modi di indirizzamento: indiretto, indiretto con predecremento, indiretto con postincremento.
Manuale assembler del processore MC68000.
25 16/05/2014
    Lezione 25: Riferimento Cap. 5 del testo "Reti Logiche: complementi ed esercizi"
Riduzione del modulo di un contatore mediante precaricamento o reset sincrono.
Contatori sincroni composti. Contatore mod-256. Contatore mod-24.
Contatori asincroni (ripple counter).
26 19/05/2014
    Lezione 26: Riferimento Cap. 5 del testo "Reti Logiche: complementi ed esercizi" Lezione 26:
  • Slide
  • Documenti sul sito docenti nell'area
    Materiale Didattico/ Calcolatori_Elettronici_I /Documenti
Concetto di equivalenza e compatibilità tra stati.
Minimizzazione degli stati con il metodo di Paull-Unger per macchine completamente specificate.
Riconoscitore di codice 8421.
27 21/05/2014 Istruzioni aritmetiche, di comparazione e salto del processore MC68000.
Esercizi di programmazione assembler MC68000.
28 23/05/2014
  • Lezione 28
Progetto di un riconoscitore di sequenza 1010 sincrono.
Shift register. Contatori di Johnson.
29 26/05/2014
    Lezione 29 (parte 1):
  • Slide
  • Lezione 29 (parte 2):
  • Slide
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.
Gestione dei sottoprogrammi in linguaggio macchina: problema del collegamento e del passaggio dei parametri.
Uso dello stack per il collegamento.
30 28/05/2014 Gestione dei sottoprogrammi in linguaggio macchina: passaggio dei parametri. Uso dello stack per l'allocazione del record di attivazione.
Frame pointer.
MC68000: istruzioni JSR, RTS, LINK, UNLK, MOVEM.
31 30/05/2014 Il sistema delle interruzioni.
Il sistema delle interruzioni del processore MC68000.
Interruzioni vettorizzate ed autovettorizzate.
Istruzione RTE. Interrupt, eccezioni e trap.
32 04/06/2014
    Lezione 32 (parte 1):
  • Slide
  • Lezione 32 (parte 2):
  • Slide
Memorie RAM. Schemi di selezione. Semiselezione. Tempo di accesse e tempo di ciclo.
Collegamenti di chip di memoria per aumentare la capacità.
Architettura interna della CPU.
Cenni al ruolo della unità di controllo della CPU.
33 06/06/2014 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 (cenni).
34 11/06/2014
  • Lezione 34
Esercizi di programmazione assembly.
Esercizio "toupper.a68".
Altri esercizi di progetto di macchine sequenziali.
35 13/06/2014
  • Lezione 35
Esercizi di programmazione assembly.
Altri esercizi di progetto di macchine sequenziali.
ESEMPI DI TRACCE DI ESAMI

Esercizi


Libro di testo

O IN ALTERNATIVA:

Altri documenti di approfondimento


Software didattico


Edizioni precedenti del corso


roberto.canonico at unina.it

Ultimo aggiornamento: 16 giugno 2014