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


Edizioni precedenti del corso


A.A. 2011-12

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 27/02/2012 Introduzione al Corso. Brevi cenni storici sulla evoluzione dei calcolatori elettronici.
Primi cenni introduttivi sulla architettura di un calcolatore elettronico.
2 02/03/2012 Informazione e sua rappresentazione. Codici a lunghezza fissa ed a lunghezza variabile.
Codici binari. Esempi di codici. Codifica indiretta.
3 05/03/2012 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.
Rappresentazione in macchina dei caratteri.
4 06/03/2012 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.
5 09/03/2012 Rappresentazione di numeri interi relativi: in complementi diminuiti e per eccessi.
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 12/03/2012 Funzioni booleane di 2 variabili.
Mintermini e maxtermini.
Forma normale di tipo P (SOP) e di tipo S (POS) di una funzione booleana.
7 13/03/2012 Implicanti di una funzione. Implicanti primi.
Mappe di Karnaugh.
Rappresentazione sulle mappe di clausole di ordine n-i.
8 16/03/2012 Funzioni NAND e NOR.
Proprietà di NAND e NOR.
Forme NAND e NOR di una funzione booleana.
9 19/03/2012 Esercizi di trasformazione in forma NAND ed in forma NOR (vedi slide lezione precedente).
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.
10 20/03/2012 Minimizzazione sulle mappe di Karnaugh.
Problema di copertura: matrice di copertura, metodo delle righe e colonne dominanti.
11 22/03/2012 Introduzione all'architettura del calcolatore.
Il processore. Modello a registri generali. Ciclo del processore.
La memoria centrale. Interfacciamento CPU-memoria.
12 26/03/2012 Ricerca dei primi implicanti con il metodo di Quine-McCluskey.
Esempio di minimizzazione di funzione con Quine-McCluskey.
Funzioni incompletamente specificate.
Minimizzazione di funzioni incompletamente specificate sia con le mappe di Karnaugh che con il metodo di Quine-McCluskey.
13 27/03/2012 Progetto di macchine combinatorie. Progetto di un transcodificatore per display a 7 segmenti.
Macchine combinatorie fondamentali: addizionatori binari. Half e full adder.
Esercizi.
14 30/03/2012 Processori big-endian e little-endian.
Primi cenni sul processore MC68000: modello di programmazione e codifica delle istruzioni.
15 02/04/2012 Macchine combinatorie fondamentali: encoder e decoder, multiplexer e demultiplexer.
16 03/04/2012 Introduzione al linguaggio macchina.
Classi di istruzioni l/m.
Introduzione al linguaggio assembly.
Formato delle istruzioni in assembly.
Etichette. Direttive di assemblaggio.
17 13/04/2012 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.
18 16/04/2012 Addizionatore binario parallelo a propagazione del riporto.
Addizionatore binario con anticipo del riporto: rete di carry look-ahead.
Macchine combinatorie: reti universali.
Mux come generatore di funzioni. Logica ROM. PLA.
19 17/04/2012 Alee in reti combinatorie.
20 20/04/2012 Gestione degli indirizzi nel processore MC68000: aliasing degli indirizzi.
Modi di indirizzamento: diretto a registro, assoluto ed immediato.
Manuale assembler del processore MC68000.
21 23/04/2012 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 27/04/2012 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.
23 04/05/2012 Il flip flop RS fondamentale come macchina asincrona.
Circuito a NOR ed a NAND: analisi.
Problemi di tempificazione del flip-flop RS fondamentale.
24 07/05/2012 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.
25 11/05/2012 Istruzioni l/m di comparazione. Istruzioni l/m di salto condizionato.
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 14/05/2012 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 15/05/2012
  • 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 18/05/2012 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 21/05/2012
  • 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 22/05/2012
  • 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 28/05/2012
  • 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/2012 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 01/06/2012 Il sistema delle interruzioni.
34 04/06/2012 Il sistema delle interruzioni del processore MC68000.
Interruzioni vettorizzate ed autovettorizzate.
Istruzione RTE. Interrupt, eccezioni e trap.

Libro di testo

Altri documenti di approfondimento


Software didattico


Esercizi


roberto.canonico at unina.it

Ultimo aggiornamento: 4 giugno 2012