elenco    
        corso    

Architettura degli elaboratori C

Codice: AA008Crediti: 10Semestre: 1Sigla: AE 
 
Settore disciplinare: INF/01 - Informatica

Docente

Marco Vanneschi   vannesch@di.unipi.it  Tel. 0502212700

Prerequisiti

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. 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.

  2. 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.

  3. 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à.

  4. 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>

  5. 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

Altre dispense distribuite direttamente a lezione.

Consultazione

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

home


email