Architettura degli Elaboratori II - Prof.ssa Annalisa Massini - Esercitazioni: Dott. Simone Silvestri

Argomenti delle lezioni svolte nell'anno accademico 2008-2009

Lezione 3 marzo 2009 Introduzione al corso. Introduzione storica alle attuali architetture dei calcolatori. Architettura di Von Neumann: descrizione, componenti principali, concetti di base. Richiami su moduli sequenziali: flip-flop; contatori sincroni, contatore preselezionabile, uso di contatori; registri di memorizzazione; registri a scorrimento, uso di registri a scorrimento: scorrimento logico e scorrimento aritmetico. 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). Formato di un'istruzione.

Lezione 6 marzo 2009 Funzionamento dell'unità di controllo. Fasi di esecuzione 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; descrizione dell'esecuzione di chiamate a subroutine annidate.

Esercitazione 10 Marzo 2009

Lezione 13 marzo 2009 Considerazioni di progetto sul repertorio di istruzioni: numero di istruzioni, formato istruzione. Diagramma di stato del ciclo istruzioni con fasi più dettagliate. Referenziamento implicito e referenziamento esplicito. Numero di indirizzi. Ulteriori considerazioni di progetto e ripercussioni sull'architettura: numero e uso dei registri, tipi di dato (numeri, caratteri, dati logici, indirizzi), modalità di indirizzamento. Motivazioni all'introduzione di varie tecniche di indirizzamento. Riconoscimento della modalità di indirizzamento da parte della CPU. Modalità di indirizzamento, caratteristiche e vantaggi e svantaggi di ognuna: - immediato, - diretto o assoluto, - indiretto, - mediante registro; - indiretto mediante registro; - mediante traslazione (o spiazzamento), i tre tipi: relativo, con registro base e indicizzato. Caratteristiche delle istruzioni macchina.

Esercitazione 17 Marzo 2009

Lezione 27 marzo 2009 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.

Esercitazione 31 Marzo 2009

Lezione 3 aprile 2009 Pipeline (o canalizzazione) 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. Conseguenze dei conflitti: interruzione della pipeline e stallo. Conflitti strutturali: esempi e soluzioni (stallo, replica delle risorse). Conflitti tra dati: esempi e soluzioni (metodo dell'anticipazione, stallo). Conflitti di controllo: esempi e soluzioni (interruzione della pipeline, predizione di salto).

Esercitazione 7 Aprile 2009

Lezione 17 aprile 2009 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. Microperazioni e microistruzioni. 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. Confronto tra realizzazione cablata e microprogrammata. Architetture RISC e CISC: definizione, considerazioni e caratteristiche delle due classi di architetture.

Esonero 24 Aprile 2009

Lezione 28 aprile 2009 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, 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.

Esercitazione 5 Maggio 2009

Lezione 8 maggio 2009 Moduli di I/O: interfaccia con processore e memoria, interfaccia con dispositivi periferici. Motivazioni e considerazioni sull'uso di moduli di I/O. 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. Schema generale di un dispositivo esterno: componenti e linee in ingresso e in uscita. Tecniche per le 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.

Esercitazione 12 Maggio 2009

Lezione 15 maggio 2009 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), 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. Organizzazione dei moduli di memoria nella memoria principale.

Esercitazione 19 Maggio 2009

Lezione 22 maggio 2009 Organizzazione dei moduli di memoria nella memoria principale: esempio di organizzazione di una DRAM da 16 Mbit, esempio di organizzazione della memoria one-bit-per-chip. Memoria cache. Caratteristiche e uso, relazione tra linee di cache e blocchi di memoria principale. Aspetti di progetto della memoria cache. La funzione di corrispondenza: la corrispondenza diretta.

Esercitazione 26 Maggio 2009

Lezione 29 maggio 2009 Memoria cache: funzione di corrispondenza diretta, 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 del 5 giugno 2009 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. Problemi di progettazione: dimensione delle pagine, pagine da rimuovere, pagine modificate. Esercizi sulla cache.

Esercitazione 9 Giugno 2009

Lezione del 12 giugno 2009 Lezione di preparazione all'esame: delucidazione sui principali argomenti del corso ed esercizi.

Esercitazione 16 Giugno 2009

-- AnnalisaMassini - 16 Mar 2011


This topic: Architetture2/MZ > Arc2CanaleE_O > LezioniArc2AA0809
Topic revision: r1 - 2011-03-16 - 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