Architettura degli Elaboratori II - Prof.ssa Massini

Argomenti delle lezioni svolte nell'anno accademico 2007-2008

Lezione 26 febbraio 2008 Introduzione al corso. Introduzione storica alle attuali architetture dei calcolatori. Architettura di Von Neumann: descrizione, componenti principali, concetti di base. Half-adder, full-adder, addizionatore a propagazione di riporto. Addizionatore a propagazione di riporto per la somma algebrica tra numeri nella rappresentazione in complemento a 2.

Lezione 28 febbraio 2008 Overflow e underflow nella somma tra numeri nella rappresentazione in complemento a 2. Comparatore logico e comparatore aritmetico. 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. Richiami su contatori sincroni, contatore preselezionabile, uso di contatori; registri di memorizzazione; registri a scorrimento. Scorrimento logico e scorrimento aritmetico.

Lezione 4 marzo 2008 Descrizione dell'unità di controllo: principali moduli presenti nella CU e loro compiti (Contatore di Programma PC, decodificatore di istruzione, codificatore di comandi, SR, SP, registri). Funzionamento dell'unità di controllo. Formato di un'istruzione. Registri ad uso generale. Registri ad uso speciale: Accumulatori, Registri indice e puntatori (PC e SP), Registri di stato (SR), Registro degli errori. Pila o stack: descrizione, uso e funzione; politica di inserimento e reperimento dati; istruzioni di PUSH e POP.

Lezione 6 marzo 2008 Classi di istruzioni: trasferimento dati, aritmetiche e logiche, comando, salto, (ingresso e uscita). Considerazioni sul repertorio di istruzioni di un calcolatore e sue ripercussioni sull'architettura. 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.

Lezione 11 Marzo 2008 Caratteristiche delle istruzioni macchina. Diagramma di stato del ciclo macchina. Numero di indirizzi. Considerazioni di progetto sul repertorio di istruzioni: numero di istruzioni, tipi di dato (numeri, caratteri, dati logici, indirizzi), formato istruzione, modalità di indirizzamento, numero e uso dei registri. 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 13 marzo 2008 Interruzioni: definizione e classificazione in interruzioni interne, interruzioni esterne e trappole. Caratteristiche e differenze tra le diverse classi di interruzione. Azioni eseguite a fronte di una richiesta di interruzione: salvataggio dello stato volatile della macchina in modo hw, salvataggio di registri in modo sw, ritorno dall'interruzione. Interruzioni e ciclo di istruzione in un'architettura sequenziale. Interruzioni multiple: mascheramento delle interruzioni e gestione delle interruzioni in base alle priorità, un esempio. Riconoscimento del dispositivo esterno che richiede l'interruzione : linee di interruzione multiple, metodo a polling o interrogazione software, metodo vettorizzato o interrogazione hardware con daisy chain e con arbitraggio del bus.

Lezione 18 marzo 2008 Risoluzione di alcuni esercizi.

Lezione 27 marzo 2008 Considerazioni di progetto dell'unità di controllo. I registri (non essenziali) MAR, MBR, IR: contenuto, connessioni, utilizzazione. Definizione di micro-operazioni. Sequenza di micro-operazioni per la fase di caricamento. Regole per la generazione della sequenza di micro-operazioni: ordine, conflitti e parallelismo. Sequenza di micro-operazioni per la fase di indirizzamento indiretto. Considerazioni sulla sequenza di micro-operazioni per la fase di esecuzione. Esempio di segnali di controllo generati durante la fase di caricamento di un'istruzione.

Lezione 1 aprile 2008 Segnali di controllo in entrata e in uscita ad un'unità di controllo. L'unità di controllo come macchina sequenziale. 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, connessioni e schema di funzionamento di un'unità di controllo. Confronto tra realizzazione cablata e microprogrammata.

Lezione 3 aprile 2008 Architetture RISC e CISC: Definizione, considerazioni e caratteristiche delle due classi di architetture. Esempio di formato di istruzione di architettura RISC: Power PC (istruzione aritmetica a tre registri, istruzione aritmetica con operando immediato e istruzione caricamento/memorizzazione dei registri, istruzione di salto incondizionato). Descrizione formato di istruzione di architettura CISC: x86.

Lezione 8 aprile 2008 Canalizzazione o pipeline delle istruzioni: tecnica della pipeline; suddivisione di un'istruzione in passi; stadio di pipeline; frequenza di operazione o troughput e latenza; durata di un ciclo di clock. Esempio di pipeline con suddivisione dell'istruzione nelle fasi caricamento, decodifica ed esecuzione. Esempio di pipeline con suddivisione dell'istruzione piu' dettagliata e problemi collegati. Conflitti tra istruzioni: classificazione in conflitti strutturali, conflitti tra dati e conflitti di controllo. Conflitti strutturali: esempi e soluzioni.

Lezione 10 aprile 2008 Pipeline tra le istruzioni: definizione di stallo. Conflitti tra dati: esempio, soluzione con il metodo dell'anticipazione. Conflitti di controllo: esempi e soluzioni. Definizione di bus: principali linee in ingresso e in uscita di memoria, modulo di I/O e processore. 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.

Lezione 17 aprile 2008 Gerarchie di bus multipli: bus locale, bus di sistema, bus di estensione, bus ad alta velocità. Esempi di organizzazione a bus multipli. Elementi di progettazione di un bus: tipi di bus, arbitraggio, temporizzazione. Un esempio di bus ad alta velocità: PCI. 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.

Lezione 22 aprile 2008 Struttura generale di un modulo di I/O: componenti e linee in ingresso e in uscita. Indirizzamento dell'I/O: ingresso/uscita mappato in memoria e ingresso/uscita isolato. Definizione delle tecniche per operazioni di I/O: 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. Vantaggi e svantaggi nell'uso dell'I/O con interruzioni. Accesso diretto alla memoria (DMA). Utilizzazione del bus da parte del controllore di DMA (cycle stealing). Funzionamento e requisiti di un modulo DMA.

Lezione 24 aprile 2008 Evoluzione delle funzionalità di un modulo di I/O: controllori, canali, processori. Interfaccia verso il modulo di I/O: interfacce parallele e seriali. Configurazioni punto-punto e a punti multipli. Esempio di bus esterno parallelo: SCSI. Esempio di bus esterno seriale: [FireWire]. Esempio di bus seriale a bassa velocità: USB.

Lezione 29 aprile 2008 Introduzione ai sistemi di 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).

Lezione 6 maggio Caratteristiche dei sistemi di memoria: tipo fisico (a semiconduttore, superficie magnetica, di tipo ottico), caratteristiche fisiche (volatile, non volatile). Principi e motivazioni della gerarchia di memoria. Memoria a semiconduttore. RAM dinamica e RAM statica: caratteristiche e differenze. Memorie a sola lettura: ROM, PROM. Memorie principalmente di lettura: EPROM, EEPROM e Memoria flash.

Lezione 8 maggio 2008 Organizzazione dei moduli di memoria nella memoria principale: organizzazione con indirizzo spezzato, organizzazione one-bit-per-chip, multiplexing degli indirizzi e loro combinazioni. Esempio di organizzazione di una DRAM da 16 Mbit.

Lezione 13 maggio 2008 Esempio di organizzazione della memoria one-bit-per-chip. Memoria cache. Caratteristiche e uso, relazione tra linee di cache e blocchi di memoria principale. Considerazioni sulla dimensione della cache; la corrispondenza diretta.

Lezione 20 maggio 2008 Memoria cache Funzione di corrispondenza: corrispondenza associativa e corrispondenza set-associativa. Algoritmi di rimpiazzamento (LRU, FIFO, LFU, Random); caratteristiche e confronto tra i diversi algoritmi. Politica di scrittura: tecnica "write through" e tecnica "write back", metodo del bus snooping. Considerazioni su dimensione di linea/blocco Organizzazione della cache a due e a tre livelli. Cache unificate e divise.

Lezione 27 maggio 2008 La gestione della memoria da parte del S.O. Partizionamento: partizioni fisse (della stessa dimensione e di dimensioni diverse) e partizionamento dinamico (partizioni di dimensione variabile). Paginazione: caratteristiche, pagine e frame di memoria, tabella della pagine, indirizzi logici e indirizzi fisici. Memoria virtuale: paginazione a richiesta. Motivazioni e conseguenze della memoria virtuale. Memoria virtuale. Organizzazione di supporto alla memoria virtuale: unità di gestione della memoria (MMU) e utilizzazione del DMA. Traduzione dell'indirizzo virtuale in indirizzo fisico, tabella delle pagine, registro base delle pagine. Errore di pagina. Problemi di progettazione: dimensione delle pagine, pagine da rimuovere, pagine modificate.

Lezione 29 maggio 2008 Memoria esterna. Disco magnetico. Testina di lettura/scrittura, meccanismo di scrittura, meccanismo di lettura. Organizzazione dei dati su disco. Dischi Winchester. Floppy disk. Nastri magnetici. CD, CD-ROM e DVD.

-- AnnalisaMassini - 28 Feb 2008


This topic: Architetture2/MZ > LezioniArc2AA0708
Topic revision: r2 - 2009-03-05 - AnnalisaMassini
 
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2024 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback