| | | corso | | | | |
Architettura degli elaboratori C
Codice: | AA008 | Crediti: | 10 | Semestre: | 1 | Sigla: | AE | |
|
Settore disciplinare: | INF/01 - Informatica |
Docente
Marco Vanneschi
Tel. 0502212700Prerequisiti
Obiettivi di apprendimento
Descrizione
Il corso fornisce le basi concettuali e metodologiche per studiare e
valutare l'architettura degli elaboratori, nonchè per affrontare il
progetto di sistemi di elaborazione ai livelli firmware ed assembler.
L'approccio seguito tende a stabilire un giusto bilanciamento tra esigenze
formative e necessità di conoscere le caratteristiche dei
principali
sistemi esistenti e loro tendenze. Le basi metodologiche sono
rappresentate
dai modelli di microprogrammazione e di strutturazione a livello firmware,
riducendo al minimo indispensabile la trattazione delle reti logiche. Su
queste basi viene descritta l'architettura del processore centrale, della
memoria e delle unità di I/O, ai livelli firmware ed assembler,
fornendo
infine primi elementi per la conoscenze di aspetti avanzati quali Risc vs
Cisc, gestione della memoria e caching e pipelining.
English Description
This course supplies the conceptual and methodological background to study
and to evaluate the architecture of computer systems, as well as to design
processing systems at the firmware and assembler levels.
The adopted
approach aims to achieve a good balance between methodological
fundamentals
and knowledge of the characteristics of existing systems and their
tends.
The fundamentals are represented by the microprogramming models and by the
firmware structuring models, though reducing the treatment of logic design
at the minimum which is strictly necessary. On this background, the course
describes the architecture of central processors, memory units, and I/O
units, at the firmware and assembler levels. Initial elements for the
knowledge of advanced issues - Risc vs Cisc, memory management and
caching,
and pipelining - are supplied.
Programma
- Introduzione agli elaboratori
- Traduzione di programmi ad alto livello. Unità base di un
elaboratore.Concetto di memoria e di programma memorizzato.Istruzioni
macchina, modi di indirizzamento. Strutturazione a livelli di
interpretazione: hardware, firmware, assembler
- Rappresentazione dei numeri binari ed elementi essenziali di
aritmetica.
- Reti logiche BR>
- Differenza tra reti combinatorie (realizzazione a livello hardware di
funzioni pure) e
reti sequenziali (realizzazione a livello hardware di automi a stati
finiti).
- Reti combinatorie. Elementi essenziali di Algebra di Boole. Tabella di
verità.
Componenti logici AND, OR, NOT. Sintesi di funzioni logiche, senza tecniche
di minimizzazione.
- Concetto di segnali a livelli e ad impulsi. Concetto di stabilizzazione
delle reti. Ritardi temporali. Reti a due livelli di logica e reti a più
livelli di logica
- Componenti logici standard : commutatore,selezionatore, addizionatore,
shifter; valutazione dei loro tempi di
ritardo; rete multifunzione ALU.
- Reti sequenziali : funzioni di transizione dello stato interno e delle
uscite. Modelli matematici di Moore e di Mealy.
Elementi di memoria e registri.Modello strutturale di rete sincrona composto
da rete combinatoria ed elementi di memoria impulsati. Clock e
ciclo di clock.
- Livello firmware e microprogrammazione
- Modello di unità di elaborazione. Parte Controllo (PC) - Parte
Operativa (PO). Microlinguaggi e microprogrammi. PC- PO come interprete del
microlinguaggio. Modello Mealy-Moore e microlinguaggio PS
- Realizzazione formale di unità a partire dal loro microprogramma:
struttura della PO (orizzontale) usando componenti logici standard e
registri, sintesi della PC. Determinazione del ciclo di clock. Valutazione
del tempo medio di elaborazione e della banda di elaborazione.
- Ottimizzazionedei microprogrammi: eliminazione di "nop", parallelismo
nelle condizioni logiche, parallelismo nelle microoperazioni, valutazione
dell'opportunità di usare o meno risorse in cascata. Uso delle funzioni
ausiliarie della ALU. Controllo residuo.
- Componente logico memoria (RAM, ROM). Unità di memoria principale e sue
prestazioni. Uso di memorie per la realizzazione di funzioni combinatorie.
Uso di memorie di registri nella PO di unità di elaborazione qualsiasi. PC
microprogrammata (modello di Mealy).
- Comunicazione tra unità. Forme di comunicazione: sincrona, asincrona
ad una posizione, a domanda-e risposta (rendez-vous esteso). Interfacce a
livelli ed a
transizione di livello. Collegamenti dedicati. Bus (bus asincrono).
Meccanismo di arbitraggio a richieste indipendenti.
- Caratteristiche delle tecnologie integrate: compromesso area-tempo,
interfacciabilità.
- Processore e unità centrale
- Comunicazioni tra processore e memoria. Tempo di accesso in memoria.
Funzionalità di MMU.
- Set di istruzioni MIPS: istruzioni aritmetico-logiche, di trasferimento
dati, di controllo del flusso. Scrittura di semplici programmi MIPS.
- Implementazione di un sottoinsieme delle istruzioni MIPS.
Microprogrammi di chiamata istruzione e decodifica, microprogrammi di
esecuzione. Funzioni di decodifica.
- Valutazione delle prestazioni: approccio basato su benchmark ed
approccio basato su "Mix"; definizione di Performance..
- Minimizzazione della complessità della PC: funzioni di decodifica,
controllo residuo, PC microprogrammata..
- Cenni a PO verticale. Cenni all'implementazione di istruzioni diverse
da quelle del MIPS.
- Cenni su aspetti avanzati di architetture dei processori>
- Ingresso-uscita
- Unità di I/O, dispositivi e driver. Bus di I/O.
- Interruzioni e loro trattamento a livello firmware ed a livello
assembler. Arbitraggio, mascherament
Bibliografia
Materiale didattico
- VAN : M. Vanneschi, "Appunti di Architettura degli Elaboratori I".
Servizio Editoriale Universitario, Università di Pisa
- GER : G.B. Gerace, "La Logica dei Sistemi di Elaborazione". Editori
Riuniti.Cap 1.1, 1.2, 1.3, 1.12, 1.13, 2.1, 2.4.
- ANT: S. Antonelli, "Rappresentazione dell'informazione". Dispensa
distribuita direttamente agli studenti.
- BTV : F. Baiardi, A. Tomasi, M. Vanneschi, "Architettura dei Sistemi
diElaborazione", volume 1. Franco Angeli.Cap. 1.2, 6.
Altre dispense distribuite direttamente a lezione.
Consultazione
- PAT : D.A. Patterson, J. Hennessy, "Computer Organization and Design:
the Hardware/Software Interface". Morgan Kaufmann. Edizione in lingua
italiana di Zanichelli.
Modalità di esame
Prova scritta e prova orale. Il superamento dei due compitini equivale al
superamento della prova scritta.
Nell'arco dell'anno accademico è consentito un numero massimo di tre
prove.
Per la valutazione finale deve essere stata sostenuta la prova di di
Laboratorio di Informatica III.
Per sostenere la prova scritta è necessario iscriversi nella apposita
lista
presso il centralino del Dipartimento di Informatica, non più tardi di tre
giorni prima della data dell'appello.
Studenti che hanno superato la prova scritta mediante i compitini: per
sostenere la prova orale è necessario iscriversi nella apposita lista
presso
il centralino del Dipartimento di Informatica, non più tardi di tre giorni
prima della data dell'appello prescelto.
Modalità di esame
Scritto e orale