elenco   
        corso   

Architettura degli Elaboratori I + Lab. di Informatica III A

(Corso di Laurea in Informatica (quinquennale))

Codice: 4I055Crediti: 18Semestre: 1Sigla: AE1 

Docente

Silvano Antonelli   antonell@di.unipi.it  Home Page di Silvano Antonelli  Stanza 394  Tel. 0502212711

Prerequisiti

MATEMATICA DISCRETA
PROGRAMMAZIONE I

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

  1. Introduzione agli elaboratori
    • Traduzione di programmi ad alto livello, istruzioni macchina, unità base di un elaboratore.
    • Concetto di memoria e sua realizzazione.
    • Rappresentazione dei numeri.
    • Concetto di programma memorizzato.
    • Esecuzione delle istruzioni.
    • Trasferimenti tra registri.
    • Comunicazioni tra processore e memoria.
    • Livelli di macchina.
    • Riferimenti : PAT cap. 1 ; BTV cap. 1, 2.1.

  2. Linguaggio macchina
    • Istruzioni e modi di indirizzamento. Loro motivazioni ed utilizzazioni.
    • Registri generali.
    • Set di istruzioni MIPS. Cenni ad altri set di istruzioni esistenti (VAX, Motorola, Intel, ecc) e differenze.
    • Riferimenti : PAT cap.3, A10.

  3. Reti logiche
    • Comportamento esterno. Differenza tra reti combinatorie (funzioni pure) e reti sequenziali (concetto di stato interno).
    • Reti combinatorie : richiami di Algebra di Boole, tabella di verità, componenti elementari, sintesi senza minimizzazione. Concetto di segnali a livelli e ad impulsi. Ritardi temporali. Reti standard : decodificatore, commutatore, selezionatore, addizionatore, shifter, ALU ; valutazione dei loro tempi di ritardo.
    • Reti sequenziali : concetto di automa a stati finiti. Memoria e registri.
    • Modello strutturale con rete combinatoria ed elemento di memoria. Clock e ciclo di clock. Modelli matematici di Moore e di Mealy.
    • Riferimenti : GER cap. 1.1, 1.2, 1.3, 1.8, 1.9, 1.10, 1.11, 1.12, 2.1 (non 2.1.4), 2.4.1, 2.4.2.

  4. Livello firmware e microprogrammazione
    • La microprogrammazione come strumento metodologico di descrizione e di progetto.
    • Modello PC-PO. Determinazione del ciclo di clock. Dal microprogramma alla struttura della PO usando i componenti logici elementari. Introduzione del bus sincrono. Parallelismo a livello di microistruzioni. Microlinguaggi e modelli.
    • Comunicazione tra unità : collegamenti, interfacce a livelli e a transizione di livello, bus asincrono. Arbitri principali.
    • Valutazione dei tempi di elaborazione.
    • Riferimenti : GER cap. 3.1, 3.2, 3.3 ; BTV cap. 2.2 ; 5; 6.

  5. Processore centrale
    • Implementazione delle istruzioni MIPS-like. Schemi di PO : orizzontale, verticale, cenni ai possibili compromessi.
    • Performance e sua valutazione.
    • Uso di unità aritmetiche più potenti : moltiplicatore-divisore ; loro impatto sulla performance. Uso di coprocessori esterni.
    • PC microprogrammata (modello PS).
    • Riferimenti : BTV cap. 5 ; 4.1.1. Consultazione di PAT, cap. 2.

  6. Ingresso-uscita
    • Unità di I/O. Modelli architetturali : controllo di programma, DMA, memory mapped I/O, comunicazioni esplicite.
    • Interruzioni : strutture e trattamento.
    • Riferimenti : BTV cap. 2.2. PAT cap.8.

  7. Aspetti avanzati di architettura
    • Elementi essenziali su gestione della memoria, MMU, cache, organizzazioni pipeline e superscalari.
    • Descrizione delle caratteristiche principali di processori esistenti delle famiglie Intel, Motorola, SUN, PowerPC.
    • Riferimenti : consultazione di BTV cap. 7, 11.
Ore lezione: 75Ore esercitazione: 45   

Bibliografia

Materiale didattico Su alcuni argomenti verranno distribuiti appunti a cura dei docenti.

Testi di consultazione

Modalità di esame

In particolare le verifiche valgono solo per la sessione di esame successiva al semestre in cui sono svolte e il superamento con successo comporta l'esonero dalla prova scritta.

Dall'anno accademico 1999/2000 valgono inoltre tutte le propedeuticita' (sia per il secondo anno che per il triennio) stabilite dal Consiglio con delibera n.86 del 22/7/96 e riportate nell'Ordinamento degli Studi del Corso di Informatica.

APPELLI (del.n. 66 CCSI 28/5/99)

Il Consiglio ha stabilito di adeguare il calendario accademico a quanto stabilito dal nuovo regolamento didattico d'Ateneo abolendo i vincoli sulla fruibilita' degli appelli al termine del semestre diverso da quello in cui si e' tenuto il corso, in modo da permettere a TUTTI gli studenti di poter sostenere l' esame relativo ad ogni corso, nei 6 appelli previsti dal calendario.

Per sostenere l'esame è obbligatorio iscriversi presso il Centralino del Dipartimento di Informatica almeno due giorni prima della prova scritta.

Modalità di esame

Scritto e orale

Ulteriore pagina web del corso:


home


email