Tags:
create new tag
view all tags

Architettura degli Elaboratori II - Prof.ssa Massini

Argomenti delle lezioni svolte nell'anno accademico 2005-2006

Lezione 2 marzo 2006 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. 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.

Lezione 3 marzo 2006 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 7 marzo 2006 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. Considerazioni sul trasferimento dell'informazione tra registri. Le quattro modalitÓ di connessione tra registri: 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); descrizione della connessione tra un registro sorgente prefissato e un registro destinazione variabile (con decodificatore e con demultiplexer); descrizione della connessione tra un registro sorgente variabile e un registro destinazione variabile tramite mesh (nei due casi registri sorgente e registri destinazione distinti e registri sorgente e destinazione nello stesso insieme); interconnessione tra registri tramite il bus.

Lezione 9 marzo 2006 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; politica di inserimento e reperimento dati; istruzioni di PUSH e POP; considerazioni sull'esecuzione di chiamate a subroutine annidate. 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.

Lezione 10 marzo 2006 Organizzazione della memoria ottenuta spezzando l'informazione su pi¨ moduli di memoria. 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 di ognuno.

Lezione 16 marzo 2006 Considerazioni di progetto sul repertorio di istruzioni. Relazione tra repertorio di istruzioni e: rappresentazione dei dati (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. 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.

Lezione 21 marzo 2006 Interruzioni multiple: mascheramento delle interruzioni e gestione delle interruzioni in base alle prioritÓ, un esempio. Riconoscimento del disposivivo 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. 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. Vantaggi della pipeline. Situazioni critiche della pipeline: istruzioni di salto. Esempio di pipeline con suddivisione dell'istruzione piu' dettagliata. Vantaggi e situazioni critiche: sovrapposizioni di fasi a seconda delle risorse usate, consistenza degli operandi.

Lezione 30 marzo 2006 Operazioni e considerazioni di progetto sull'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. 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.

Lezione 31 marzo 2006 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. 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).

Lezione 10 aprile 2006 Descrizione formato di istruzione di architettura CISC: x86. Principali linee in ingresso e in uscita di memoria, modulo di I/O e processore. Elementi di progettazione di un bus. 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Ó. Esempi di organizzazione a bus multipli.

Lezione 11 aprile 2006 Descrizione formato di istruzione di architettura CISC: x86. Principali linee in ingresso e in uscita di memoria, modulo di I/O e processore. Elementi di progettazione di un bus. 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Ó. Esempi di organizzazione a bus multipli.

Lezione 19 aprile 2006 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 con interruzioni. Accesso diretto alla memoria (DMA). Utilizzazione del bus da parte del controllore di DMA. Funzionamento di un modulo DMA.

Lezione 26 aprile 2006 Richiami sul controllore di DMA: funzionamento e struttura di un modulo DMA. 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 bus esterno parallelo: SCSI. Esempio di bus esterno seriale: [FireWire]. Esempio di bus seriale a bassa velocitÓ: USB.

Lezione 3 maggio 2006 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. 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 4 maggio 2006 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; corrispondenza associativa; 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"; dimensione di una linea/blocco organizzazione della cache a due livelli; cache unificate e divise.

Lezione 10 maggio 2006 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. 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 17 maggio 2006 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 e CD-ROM. DVD. Nastri magnetici.

Lezione 29 maggio 2006 Architetture multiprocessore IBM - dott. Moretti (IBM)

Lezione 30 maggio 2006 Architetture multiprocessore IBM - dott. Moretti (IBM)


Lezioni, esercitazioni ed esoneri

  • Lezione2_Marzo_2006
  • Lezione3_Marzo_2006
  • Lezione7_Marzo_2006
  • Lezione9_Marzo_2006
  • Lezione10_Marzo_2006
  • Esercitazione14_Marzo_2006
  • Lezione16_Marzo_2006
  • Esercitazione17_Marzo_2006
  • Lezione21_Marzo_2006
  • Esercitazione24_Marzo_2006
  • Lezione30_Marzo_2006
  • Lezione31_Marzo_2006
  • Esercitazione4_Aprile_2006
  • Esercitazione7_Aprile_2006
  • Lezione10_Aprile_2006
  • Lezione11_Aprile_2006
  • Lezione19_Aprile_2006
  • Esercitazione20_Aprile_2006
  • Lezione26_Aprile_2006
  • Esonero27_Aprile_2006 (con soluzioni e risultati)
  • Esercitazione2_Maggio_2006
  • Lezione3_Maggio_2006
  • Lezione4_Maggio_2006
  • Esercitazione9_Maggio_2006
  • Lezione10_Maggio_2006
  • Esercitazione16_Maggio_2006
  • Lezione17_Maggio_2006
  • Esercitazione23_Maggio_2006
  • Esonero25_Maggio_2006 (con soluzioni e risultati)
  • Lezione 29 Maggio 2006 (Architetture multiprocessore IBM)
  • Lezione 30 Maggio 2006 (Architetture multiprocessore IBM)
-- AnnalisaMassini - 01 Mar 2007
Edit | Attach | Watch | Print version | History: r5 < r4 < r3 < r2 < r1 | Backlinks | Raw View | Raw edit | More topic actions
Topic revision: r5 - 2007-05-30 - AnnalisaMassini






 
Questo sito usa cookies, usandolo ne accettate la presenza. (CookiePolicy)
Torna al Dipartimento di Informatica
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2022 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback