
Architettura degli
elaboratori
A.A. 2004-2005

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 2004-2005 |
 |
Docente: Prof. Nicola Cavallo
|
 |
Tipo: Corso fondamentale
|
 |
Impegno lezioni
frontali [ore]: 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. Visione
generale dei componenti di un computer. Fattori di progresso nello sviluppo degli elaboratori.
Impatto delle nuove tecnologie. La rivoluzione digitale.
Differenza tra segnali analogici e digitali. Architettura della macchina digitale. Livelli logici
e forme d’onda digitali.
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 e
Aritmetica degli interi. Rappresentazione e Aritmetica dei numeri reali. Standard IEEE. Rappresentazione di
caratteri alfanumerici. Codifica delle immagini.
Trasmissione
dell’informazione. Mezzi trasmissivi. 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:
| William
Stallings Architettura
e organizzazione dei calcolatori
(La struttura del calcolatore, metodi di
progetto e prestazioni)
Jackson
Libri - Università,
2001
|
---|
Da
integrare, a seconda delle indicazioni, con riferimenti ed esempi tratti dai
testi seguenti:
·
M. D. P. Bovet, “Introduzione
all'architettura degli elaboratori”, Zanichelli, Bologna 1996.
·
V.C. Hamacher ed altri, “Introduzione
all'architettura dei calcolatori”, McGraw-Hill Libri Italia srl, Milano,
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.
________________________________________________________________________________
Esercitazioni
Il corso di Architettura
degli elaboratori é affiancato 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 una
prova scritta, costituita da test e/o risoluzioni di esercizi, riguardanti
gli argomenti trattati nel corso delle lezioni, e (b) una prova orale.
________________________________________________________________________________
Ricevimento degli studenti
Giovedì, ore 10:30-12:30 (Macchia Romana 1° piano, stanza n.94b)
|