Architettura degli Elaboratori II - Prof.ssa Massini
Argomenti delle lezioni svolte nell'anno accademico 2002-2003
Lezione 6 marzo 2003
Introduzione al corso.
Richiami su moduli combinatori: decodificatore, codificatore, transcodificatore; multiplexer, demultiplexer, mux-demux per la trasmissione delle informazioni.
Half-adder, full-adder, addizionatore a propagazione di riporto.
Rappresentazione in complemento a 2, intervallo di rappresentazione, come trovare l'opposto di un numero.
Addizionatore a propagazione di riporto per la somma algebrica tra numeri nella rappresentazione in complemento a 2.
Overflow e underflow nella somma tra numeri nella rappresentazione in complemento a 2
Lezione 9 marzo 2003
Comparatore logico e comparatore aritmetico.
Richiami su moduli sequenziali: flip-flop; contatori sincroni e asincroni, contatore preselezionabile, uso di contatori; registri di memorizzazione; registri a scorrimento, uso di registri a scorrimento: scorrimento logico e scorrimento aritmetico, trasmissione dell'informazione.
Considerazioni sull'interconnessione di registri tramite bus e tramite mux-demux.
Architettura di Von Neumann: descrizione e componenti principali.
La CPU (Central Processing Unit): descrizione, funzione e moduli (Unitą Aritmetico-Logica o ALU, Unitą di Controllo o CU, registri).
Caratteristiche di un'unitą aritmetico-logica: linee di entrata e linee di uscita; significato dei bit del codice di condizione.
Esempio di costruzione di una semplice unitą aritmetico-logica dotata di un sommatore e tre linee di funzione.
Lezione 14 marzo 2003
Schema di una semplice unitą aritmetico-logica (completamento esempio della lezione del 11/3/2003).
Descrizione dell'unitą di controllo: principali moduli presenti nella CU e loro compiti (Contatore di Programma PC, decodificatore di istruzione, codificatore di comandi, registri).
Funzionamento dell'unitą di controllo.
Formato di un'istruzione.
Fasi di esecuzione di un'istruzione: caricamento, decodifica ed esecuzione; moduli coinvolti in ogni fase.
Memoria: descrizione e specifica delle linee di ingresso e di uscita. Accesso ad una locazione di memoria e limitazioni poste dal decodificatore di indirizzi.
Organizzazione della memoria ottenuta spezzando l'indirizzo in byte.
Organizzazione della memoria ottenuta spezzando l'informazione su pił moduli di memoria.
Considerazione sul bus.
Considerazioni su moduli di I/O.
Lezione 18 marzo 2003
Registri ad uso generale: caratteristiche ed uso.
Registri ad uso speciale: caratteristiche ed uso; tipologie di resistri: accumulatori, registri indice e puntatori (Contatore di Programma, PC, e puntatore alla pila, SP), registri di condizione (registro di stato SR e registro degli errori).
Pila o stack: descrizione,uso e funzione; politica di inserimento e reperimento dati; istruzioni di PUSH e POP; esempio sull'esecuzione di chiamate a subroutine annidate.
Classi di istruzioni: trasferiemnto dati, aritmetiche e logiche, comando, salto, (ingresso e uscita).
Considerazioni sul repertorio di istruzioni di un calcolatore e sue ripercussioni sull'architettura.
Lezione 21 marzo 2003
Referenziamento implicito e referenziamento esplicito. Motivazioni all'introduzione di varie tecniche di indirizzamento. Riconoscimento della modalitą di indirizzamento da parte della CPU.
Modalitą di indirizzamento: immediato - caratteristiche, vantaggi e svantaggi; assoluto o diretto - vantaggi e svantaggi; indiretto - vantaggi e svantaggi; mediante registro - vantaggi e svantaggi; indiretto mediante registro - vantaggi e svantaggi; differito indiretto - vantaggi e svantaggi;mediante traslazione (o spiazzamento) - caratteristiche, i tre tipi: relativo, con registro base e indicizzato, vantaggi e svantaggi di ognuno.
Dagli indirizzamenti per traslazione al Position Independent Code (PIC).
Lezione 28 marzo 2003
Caratteristiche delle istruzioni macchina: passi necessari all'esecuzione di un'istruzione; elementi di un'istruzione macchina; numero di indirizzi in un'istruzione; progettazione dell'insieme di istruzioni; tipi di operandi (numeri, caratteri, dati logici).
Ordinamento dei dati in memoria rispetto ai byte: little-endian e big-endian; caratteristiche e ripercussioni sull'architettura.
Allineamento dei dati in memoria: parole allineate e non allineate; considerazioni sul reperimento di parole non allineate.
Lezione 1 aprile 2003
Interruzioni: definizione e classificazione in interruzioni interne, interruzioni esterne e trappole. Caratteristiche e differenze tra le diverse classi di interruzione.
Interruzioni rispetto al ciclo di istruzione in un'architettura sequenziale.
Azioni eseguite a fronte di una richiesta di interruzione: salvataggio dello stato volatile della macchina e di registri e ritorno dall'interruzione.
Interruzioni multiple: mascheramento delle interruzioni e gestione delle interruzione in base alle prioritą.
Riconoscimento del disposivivo che richiede l'interruzione: metodo a polling o interrogazione software, metodo vettorizzato o interrogazione hardware, cenni su linee di interruzione multiple e su arbitraggio dl bus.
Lezione 4 aprile 2003
Canalizzazione o pipeline delle istruzioni: tecnica della pipeline; suddivisione di un'istruzione in passi; stadio di pipeline; frequenza di operazione o troughput; durata di un ciclo di clock.
Esempio di pipeline on suddivione dell'istruzione in fasi; esempio di pipeline con suddivisione dell'istruzione piu' dettagliata.
Vantaggi della pipeline. Situazioni critiche della pipeline: istruzioni di salto e sovrapposizioni di fasi a seconda dele risorse usate.
Operazioni dell'unitą di controllo: funzionalitą di un processore; definizione di micro-operazioni.
I registri (non essenziali) MAR, MBR, IR: loro contenuto e connessioni.
Sequenza di micro-operazioni per la fase di fetch.
Regole per la generazione della seuenza di micro-operazioni: ordine, conflitti e parallelismo.
Lezione 8 aprile 2003
Segnali di controllo in entrata e in uscita ad un'unitą di controllo. Esempio di segnali di controllo generati durante la fase di caricamento di un'istruzione.
Considerazioni sulla realizzazione di un'unitą di controllo a logica cablata.
Unitą di controllo a logica microprogrammata: microistruzioni, microprogramma, memoria ROM di controllo e micro-PC, schema di funzionamento. Organizzazione della memoria ROM in micro-subroutine.
Microprogrammazione orizzontale e microprogrammazione verticale.
Moduli interni di un'unitą di controllo microprogrammata e schema dettagliato di funzionamento.
Vantaggi e svantaggi della microprogrammazione.
Lezione 11 aprile 2003
Architetture RISC e CISC: considerazioni e caratteristiche delle due classi di architetture.
Esempio di formato di istruzione di architettura RISC:
PowerPC? (istruzione aritmetica, istruzione aritmetica con operando immediato e istruzione caricamento memorizzazione dei registri).
Esempio di formato di istruzione di architettura CISC: x86.
Una classificazione delle architetture: modello a stack, modello memoria-memoria, modello registri-memoria, modello registro-registro.
Linguaggio macchina e linguaggio assembler. Assemblatori, collegatori e compilatori. Vantaggi e svantaggi del linguaggio assemblatore.
Differenze tra linguaggio assembler e linguaggi ad alto livello. Formato di uno statement in linguaggio assembler e significato dei campi. Parole riservate. Direttive.
Cenni sui protocolli di comunicazione: protocolli sincroni, protocolli asincroni e protocolli asincroni basati su interruzioni.
Lezione 24 aprile 2003
Principali linee in ingresso e in uscita di memoria, modulo di I/O e processore.
Struttura del bus di tipo dedicato: caratteristiche ed uso delle linee di dati, linee di indirizzo e linee di controllo.
Gerarchie di bus multipli: bus locale, bus di sistema, bus di estensione, bus ad alta velocitą.
Elementi di progettazione di un bus: metodi di arbitraggio: centralizzato e distribuito, temporizzazione: sincrona e asincrona, tipi di bus e tipi di trasferimenti.
Lezione 29 aprile 2003
Moduli di I/O: interfaccia con processore e memoria, interfaccia con dispositivi periferici. Motivazioni e considerazioni sull'uso di moduli di I/O.
Schema generale di un dispositivo esterno: componenti e linee in ingresso e in uscita.
Funzioni e requisiti di un modulo di I/O: controllo e temporizzazione, comunicazione con il processore, comunicazione con i dispositivi periferici, bufferizzazione dei dati, rilevamento degli errori.
Struttura generale di un modulo di I/O: componenti e linee in ingresso e in uscita.
Tecniche per operazioni di I/O: definizione e considerazioni per I/O programmato, I/O con interruzioni, Accesso Diretto alla Memoria (DMA).
I/O programmato: azioni del processore e azioni del modulo di I/O. Vantaggi e svantaggi nell'uso dell'I/O programmato.
I/O con interruzioni.
Esempio di lettura dal punto di vista del modulo di I/O e dal punto di vista del processore.
Eventi hw ed eventi sw nella gestione delle interruzioni.
Lezione 6 maggio 2003
Accesso diretto alla memoria (DMA). utilizzazione del bus da parte del controllore di DMA. Funzionamento e componenti di un modulo DMA. Organizzazione di una operazione di lettura/scrittura.
Considerazioni e conclusioni; evoluzione delle funzionalitą di I/O.
Interfaccia tra periferica e modulo di I/O: seriale e parallela; punto-punto e a punti multipli.
La memoria. Caratteristiche dei sistemi di memoria: locazione, capacitą, unitą di trasferimento, metodo di accesso (sequenziale, diretto, casuale, associativo), prestazioni (tempo di accesso, tempo di ciclo di memoria, velocitą di trasferimento), tipo fisico (a semiconduttore, superficie magnetica, di tipo ottico), caratteristiche fisiche (volatile, non volatile), organizzazione.
La gerarchia di memoria. Motivazioni all'introduzione della gerarchia di memoria.
Lezione 8 maggio 2003
Memoria principale. Memoria a semiconduttore. RAM statica e RAM dinamica e loro differenze. Read Only Memory: ROM, PROM, EPROM, EEPROM e Memoria flash. Organizzazione dellla memoria.
Memoria cache. Interfaccia memoria cache - memoria principale. Elementi di progettazione della cache.
Dimensione della cache.
Funzione di corrispondenza. Corrispondenza diretta: caratteristiche, vantaggi e svantaggi.
Lezione 9 maggio 2003
Elementi di progettazione della cache (continua dalla lezione precedente)
Corrispondenza associativa: caratteristiche, vantaggi e svantaggi.
Corrispondenza set-associativa: caratteristiche, vantaggi e svantaggi.
Algoritmo di rimpiazzamento: LRU, FIFO, LFU, Random. Caratteristiche econfronto tra i diversi algoritmi.
Politica di scrittura: tecnica "write through" e tecnica "write back".
Dimensione di una linea/blocco.
Numero di cache. Organizzazione a due livelli. Cache unificate e divise.
Memoria virtuale. Indirizzi virtuali e logici. Unitą di gestione della memoria (MMU). Schema di organizzazione e connessione per ottenere la memoria virtuale. Traduzione dell'indirizzo, tabella delle pagine, registro base delle pagine. Errore di pagina, pagine da rimuovere, pagine modificate.
Lezione 13 maggio 2003
Memoria esterna.
Disco magnetico. Testina di lettura/scrittura, meccanismo di scrittura, meccanismo di lettura. Organizzazione dei dati su disco.
Dischi Winchester. Floppy disk. Dischi RAID. Parametri di valutazione delle prestazioni
CD-ROM. Nastri magnetici.
Terminali video tastiera/monitor.
--
AnnalisaMassini - 08 Mar 2004