Architettura degli Elaboratori II - Prof.ssa Massini

Argomenti delle lezioni svolte nell'anno accademico 2004-2005

Lezione 15 marzo 2005 Introduzione al corso. Introduzione storica alle attuali architetture dei calcolatori. Architettura di Von Neumann: descrizione, componenti principali, concetti di base. 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.

Lezione 22 marzo 2005 Rappresentazione in complemento a 2, intervallo di rappresentazione, 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. 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.

Lezione 1 aprile 2005 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 sul trasferimento dell'informazione tra registri. Interconnessione tra registri. Le quattro modalità di connessione. Descrizione della connessione tra un registro sorgente prefissato e un registro destinazione prefissato (con porte AND e buffer tristate). Descrizione della connessione tra un registro sorgente variabile e un registro destinazione prefissato (con multiplexer).

Lezione 5 aprile 2005 Descrizione della connessione tra un registro sorgente prefissato e un registro destinazione variabile (con decodificatore). Descrizione della connessione tra un registro sorgente variabile e un registro destinazione variabile (nei due casi registri sorgente e registri destinazione distinti e registri sorgente e destinazione nello stesso insieme). Interconnessione tra registri nel caso di sorgente variabile - destinazione variabile: il bus. 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. Registri ad uso generale; registri ad uso speciale: Contatore di Programma, PC, puntatore alla pila, SP, registro di stato, SR, e registro degli errori). Pila o stack: descrizione, uso e funzione.

Lezione 12 aprile 2005 Classi di istruzioni: trasferimento dati, aritmetiche e logiche, comando, salto, (ingresso e uscita). Caratteristiche delle istruzioni macchina; il repertorio di istruzioni di un calcolatore, legami tra il repertorio di istruzioni di un calcolatore e l'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.

Lezione 15 aprile 2005 Modalità di indirizzamento: 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. Indirizzamenti per traslazione e Position Independent Code (PIC). 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. Interruzioni: definizione e classificazione in interruzioni interne, interruzioni esterne e trappole. Caratteristiche e differenze tra le diverse classi di interruzione. Interruzioni e 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, linee di interruzione multiple, metodo vettorizzato o interrogazione hardware, cenni su arbitraggio dl bus.

Lezione 19 aprile 2005 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 con suddivisione 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 e considerazioni di progetto dell'unità di controllo. Definizione di micro-operazioni. I registri (non essenziali) MAR, MBR, IR: contenuto, connessioni, utilizzazione.

Lezione 22 aprile 2005 Sequenza di micro-operazioni per la fase di caricamento. Regole per la generazione della sequenza di micro-operazioni: ordine, conflitti e parallelismo. 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. 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.

Lezione 26 aprile 2005 Moduli interni, connessioni e schema di funzionamento di un'unità di controllo. Vantaggi e svantaggi della microprogrammazione. 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 29 aprile 2005 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: tipi di bus, metodi di arbitraggio: centralizzato e distribuito, temporizzazione: sincrona e asincrona, tipi di trasferimenti.

Lezione 3 maggio 2005 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. Indirizzamento dell'I/O: ingresso/uscita mappato in memoria e ingresso/uscita isolato. Definizione e considerazioni 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 programmato.

Lezione 6 maggio 2005 I/O con interruzioni. Esempio di lettura dal punto di vista del modulo di I/O e dal punto di vista del processore. 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. 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 di sistema: PCI. Esempio di connessione e bus esterno parallelo: SCSI. Esempio di connessione e bus esterno seriale: [FireWire].

Lezione 10 maggio 2005 Introduzione ai principi e alle motivazioni della gerarchia 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), organizzazione. Memorie a sola lettura: ROM, PROM. Memorie principalmente di lettura: EPROM, EEPROM e Memoria flash. Memoria a semiconduttore. RAM dinamica e RAM statica: caratteristiche e differenze. Organizzazione dellla memoria: divisione dell'indirizzo, organizzazione one-bit-per-chip.

Lezione 12 maggio 2005 Organizzazione dellla memoria principale: esempio di memoria DRAM 4 bit per chip; esempio di memoria one-bit-per-chip. Memoria cache. Caratteristiche e uso, relazione tra linee di cache e blocchi di memoria principale. Elementi di progettazione della cache. Dimensione della cache. Funzione di corrispondenza: corrispondenza diretta: caratteristiche, vantaggi e svantaggi; corrispondenza associativa: caratteristiche, vantaggi e svantaggi; corrispondenza set-associativa: caratteristiche, vantaggi e svantaggi.

Lezione 17 maggio 2005 Memoria cache. Algoritmo di rimpiazzamento: LRU, FIFO, LFU, Random. Caratteristiche e confronto tra i diversi algoritmi. Politica di scrittura: tecnica "write through" e tecnica "write back". Dimensione di una linea/blocco. Organizzazione della cache a due livelli. Cache unificate e divise.

La gestione della memoria da parte del S.O.: Partizionamento: partizioni fisse e partizionamento dinamico (partizioni di dimensione variabile). Paginazione: caratteristiche, pagine e frame di memoria, tabella della pagine, indirizzi logici e indirizzi fisici.

Lezione 19 maggio 2005 Memoria virtuale. 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 26 maggio 2005 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. CD-ROM. Nastri magnetici. Cenni sui diversi tipi di schermo: tradizionale, LCD, plasma.


-- AnnalisaMassini - 02 Mar 2006


This topic: Architetture2/MZ > Arc2CanaleE_O > LezioniArc2AA04-05
Topic revision: r3 - 2007-05-29 - 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