Nicola Cavallo  

 

Home
Su

Architettura degli elaboratori

A.A. 2002-2003

AVVISO IMPORTANTE

Le trasparenze, frutto di un’attiva collaborazione con i proff.  F.Cevenini e G.Spadaccini dell’Università di Napoli, non sono da intendersi assolutamente come un libro di testo.

Per quanti sforzi si siano compiuti al fine di rendere il filo logico quanto più trasparente ed omogeneo, esse sono e restano un complemento indispensabile solo durante le lezioni frontali.

Descrizione del Corso

Facoltà di Scienze MM. FF. NN. - Corso di Laurea in Informatica

Anno Accademico 2002-2003

Docente: Prof. Nicola Cavallo

Tipo: Corso fondamentale

Impegno [ore]: lezione: 72

Crediti : 9

________________________________________________________________________________

Scopo del Corso

Il corso si propone di introdurre l'architettura di un elaboratore, mettendo in luce sia le varie componenti sia le scelte progettuali e le tecniche implementative attraverso i seguenti argomenti: Rappresentazione e trasmissione delle informazioni. Algebra di Boole. Reti combinatorie e sequenziali. Cenni sugli automi a stati finiti. Unità di elaborazione logico-aritmetica ed architettura di un computer minimale. Memorie, bus, dispositivi di I/O.

________________________________________________________________________________

Prerequisiti

Nessuno

________________________________________________________________________________

Propedeuticità

Nessuna

________________________________________________________________________________

Programma del Corso

Introduzione alle informazioni in forma digitale

Concetto di comunicazione ed informazione. La rivoluzione digitale e l’ICT. Breve storia dell'elaboratore elettronico. Fattori di progresso nello sviluppo degli elaboratori. La rivoluzione digitale. Analogico e digitale. Architettura della macchina  digitale. Livelli logici e forme d’onda digitali. Impatto delle nuove tecnologie e strategie.

Rappresentazione e trasmissione delle informazioni

Informazione e rappresentazione dell’informazione.  Codifica. Codici, alfabeti, grammatiche. Rappresentazione dei numeri naturali in diverse basi e conversione da una base all'altra. Rappresentazione di interi. Rappresentazione di numeri reali. Standard IEEE. Rappresentazione di caratteri alfanumerici. Codifica delle immagini. Trasmissione dell’informazione. Mezzi trasmessivi. Canale. Ridondanza dell'informazione. Rumore elettronico.  Rilevazione e correzione degli errori.

Algebra di Boole

Definizione e proprietà degli operatori booleani.  Modelli dell’algebra di Boole: algebra delle classi.  algebra dei divisori, algebra delle commutazioni, algebra degli interruttori, algebra delle porte.  Espressioni ed equivalenza di espressioni Booleane. Teoremi dell’algebra di Boole. Funzioni ed espressioni booleane. Rappresentazioni canoniche. Tecniche per la semplificazione di espressioni booleane in forma canonica.  Mappe di Karnaugh.

Reti logiche, reti combinatorie, reti sequenziali e cenni sugli Automi a stati finiti

Concetto di rete logica come elemento di sistema. Codifica elettrica degli elementi dell'algebra booleana.  Funzioni logiche ed interruttori. Definizione  delle reti combinatorie. Introduzione ai circuiti sequenziali. Il flip-flop come elemento di memoria. Concetto di "sincronizzazione" di un dato.  Reti sequenziali sincrone.  Generazione e distribuzione di segnali di clock.  Registri a scorrimento. Equazione e descrizione di un automa.  Diagramma degli stati.  Tabella di flusso. Definizione di automa di Mealy e di automa di Moore e trasformazioni. Esempi di automi più complessi.

Dispositivi di memoria

Celle elementare di memoria. Operazioni sulla memoria e segnali di servizio. La famiglia delle ROM e delle RAM. Banchi di memoria schema a blocchi e schema funzionale. Meccanismi di selezione multiplexing delle uscite con "buffer tristate". Tipi speciali di memorie (FIFO, LIFO, memory stack, CCD). Dispositivi programmabili (PLA, PAL, PLS).

Elaborazioni logico-aritmetiche e sistemi di elaborazione

Tecniche di trasferimento dati tra registri. RTL - “Register Transfer Language”, Reti per microoperazioni. ALU - “Arithmetic Logic Unit”. Unità operativa ed unità di controllo.Sviluppo dell’istruzione. Operazioni semplici (microoperazioni).. Schemi ed esempi di reti che implementano microoperazioni aritmetiche, logiche e di scorrimento. ALU. Operazioni complesse: definizione. Esempi. Controllo di piccoli sistemi. Separazione di parte controllo e parte operativa. Esempi di sistemi di elaborazione microprogrammati.  Esecuzione delle istruzioni in un sistema a controllo microprogrammato.

Architettura di un computer minimale: La “macchina di Morris Mano”

Compiti del processore, linguaggio macchina, formato d’istruzione, indirizzamento diretto ed indiretto, registri della CPU.  Caratteristiche dei registri, bus di collegamento, Repertorio di istruzioni, completezza del set di istruzioni, temporizzazione e controllo, cicli di istruzione, configurazione di ingresso e di uscita, istruzioni di ingresso/uscita, interruzione di programma. Descrizione globale della macchina. Logica di controllo.

La memoria cache

Concetto di memoria cache. Architetture (look aside e look through). Regole di accesso ("write back" e "write through"). Organizzazione. Modalità di indirizzamento. Algoritmi di sostituzione.

Strutture e protocolli dei bus

Introduzione al concetto di bus.  Linee indirizzi, linee dati e linee di controllo e temporizzazione; protocollo del bus, transazioni.  Bus paralleli e bus seriali, Bus sincroni ed asincroni. Esempio di un bus di un microprocessore semplice.

Evoluzione delle architetture

Il problema della velocità e delle performances. I primi microprocessori. Instruction Set Architeture. Macchine CISC e RISC. Architetture superscalari.

Struttura “pipeline”

Il concetto di catena di montaggio, tempo di esecuzione e frequenza di completamento delle istruzioni (troughput).  Stadio della pipeline e buffer interstadio.

________________________________________________________________________________ 

Testi consigliati

Il libri di testo che verranno seguiti per la maggior parte degli argomenti del corso delle lezioni sono:

Daniel P. Bovet

 Introduzione all’architettura degli elaboratori

 Zanichelli, Bologna, 1996

V.C. Hamacher , Z.G. Vranesic, S.G. Zaky  

Introduzione all’architettura dei calcolatori

 McGraw-Hill Libri Italia, Milano, 1997

 

Da integrare, a seconda delle indicazioni, con riferimenti ed esempi tratti dai testi seguenti:

·        M. Morris Mano, “Computer System Architecture”, Prentice Hall. Englewood Cliffs, NJ, 1993.

·        M. Morris Mano "Digital Electronics"  Second  Editino,  Prentice Hall

·        F.Luccio-L.Pagli, “Reti logiche e calcolatori”, Bollati Boringhieri, Torino, 1991;

·        G.B. Gerace, “La logica dei sistemi di elaborazione”, Editori Riuniti, Roma, 1994;

·        M. Morris Mano, C.R.Kime, “Logic and computer fundamentals”, Prentice Hall, Englewood Cliffs, NJ, 1997;

·        N. Carter, “Architetture degli elaboratori”, McGraw-Hill, 2002

·        D. A. Patterson e J.L. Hennessy, “Struttura, organizzazione e progetto dei calcolatori”, Jackson Libri, 1999.

·        J.L. Hennessy,  D. A. Patterson “Architettura dei computer: un approccio quantitativo" Jackson Libri, 2001

·        R. Tocci "Sistemi Digitali" Jakson Libri (1994)

Presso la Biblioteca Centrale dell'Ateneo sono disponibili per consultazione copia delle trasparenze e/o appunti delle lezioni che integrano i testi consigliati.

 ________________________________________________________________________________

Esercitazioni

Il corso di Architettura degli elaboratori é corredato, da una serie di esercitazioni in aula.

________________________________________________________________________________

Frequenza al corso

La frequenza al corso non é obbligatoria ma é ritenuta di importanza essenziale per l'apprendimento dei concetti fondamentali e per acquisire la necessaria manualità nella risoluzione degli esercizi che costituiranno le due prove scritte di esonero.

________________________________________________________________________________

Esame

L'esame consta (a) di due prove di esonero scritte, riguardanti test e risoluzione di esercizi,  inerenti gli argomenti trattati nel corso delle lezioni, e (b) un'eventuale verifica integrativa, mediante prova orale, delle conoscenze teoriche del programma.

________________________________________________________________________________

Ricevimento degli studenti

Giovedì, ore 10:30-12:30 (Macchia Romana 1° piano, stanza n.94b)