Corso di Architettura degli ElaboratoriProf.ssa Massini Dott.ssa Bartolini
Orario delle lezioniLe lezioni si svolgeranno secondo il seguente orario:
Programma del CorsoIl programma di massima del corso é: ProgrammaArc2 Il programma dettagliato, steso sulla base degli argomenti svolti a lezione, si trova in:
Libro di testoUn buon testo cui fare riferimento è: William Stalling "Architettura e organizzazione dei calcolatori", Pearson Addison WesleyModalità esamePer superare l'esame di Architetture degli Elaboratori bisogna:
Argomento delle LezioniLezione 15 Marzo 2011 Introduzione al corso. Introduzione storica alle attuali architetture dei calcolatori. Architettura di Von Neumann: descrizione, componenti principali, concetti di base. Descrizione dell'unità aritmetico-logica.Lezione 18 marzo 2011 Richiami su moduli combinatori (deodificatore, codificatore, transcodificatore, multiplexer, demultiplexer, comparatore, sommatore). Schema di un'ALU molto semplice. Richiami sui registri (memorizzazione, scorrimento, contatori). Descrizione dell'unità di controllo: principali moduli presenti nella CU e loro compiti (Contatore di Programma PC, decodificatore di istruzione, codificatore di comandi). Lezione 22 marzo 2011 Principali moduli presenti nella CU e loro compiti (SR, SP, registri). Funzionamento dell'unità di controllo. Fasi di esecuzione di un'istruzione. Formato di un'istruzione. Referenziamento implicito e referenziamento esplicito. Numero di indirizzi. 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; istruzioni PUSH e POP. Lezione 25 marzo 2011 Interconnessione tra registri. Appunti sull'interconnessione tra registri Lezione 29 marzo 2011 Esercitazione Lezione 1 aprile 2011 Classi di istruzioni (trasferimento, aritmetico-logiche, comando, salto). Motivazioni all'introduzione di varie tecniche di indirizzamento. Modalità di indirizzamento, caratteristiche e vantaggi e svantaggi di ognuna: - immediato, - diretto o assoluto, - indiretto, - mediante registro; - indiretto mediante registro. Lezione 5 aprile 2011 Esercitazione Lezione 8 aprile 2011 Richiami sulla lezione precedente (classi di istruzioni e modalita di indirizzamenteo). Modalità di indirizzamento per traslazione (o spiazzamento), i tre tipi: relativo, con registro base e con registro indice. Riconoscimento della modalità di indirizzamento da parte della CPU. Considerazioni di progetto sul repertorio di istruzioni: numero di istruzioni, formato istruzione, modalità di indirizzamento, tipi di dato. Diagramma di stato del ciclo istruzioni con fasi dettagliate. Pipeline (o canalizzazione) delle istruzioni: tecnica della pipeline; esempio di pipeline con suddivisione dell'istruzione nelle fasi caricamento, decodifica ed esecuzione. Lezione 15 aprile 2011 Pipeline (o canalizzazione) delle istruzioni: stadio di pipeline; frequenza di operazione (troughput) e tempo di esecuzione (latenza); durata di un ciclo di clock. 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). Interruzioni: definizione e classificazione in interruzioni interne, interruzioni esterne e trappole. Lezione 29 aprile 2011 Esonero Lezione 3 maggio 2011 Esercitazione Lezione 6 maggio 2011 Lezione annullata Lezione 10 maggio 2011 Interruzioni: 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à. 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.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. Lezione 13 maggio 2011 Architetture RISC e CISC: definizione, considerazioni e caratteristiche delle due classi di architetture. 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. Principi e motivazioni della gerarchia di memoria. Lezione 17 maggio 2011 Esercitazione Lezione 20 maggio 2011 Esercitazione con canale AL - dott. Simone Silvestri Lezione 24 maggio 2011 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).Memoria a semiconduttore. RAM dinamica e RAM statica: caratteristiche e differenze. Organizzazione dei moduli di memoria nella memoria principale. 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. Lezione 27 maggio 2011 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: 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. Lezione 31 maggio 2011 Esercitazione Lezione 3 giugno 2011 Esercitazione con canale AL Lezione 7 giugno 2011 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. 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. Lezione 10 giugno 2011 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. Lezione 14 Giugno 2011 Prestazioni di un calcolatore: tempo di esecuzione ed analisi dei tempi relativi a diverse attività o diverse unità funzionali. Programmi di benchmark per la valutazione di prestazioni. Legge di Amdhal. Accelerazione. Appunti sulle prestazioni Lezioni svolte negli anni precedenti:
EsercitazioniLe esercitazioni del corso di Architetture 2, tenute dalla Dott.ssa Novella Bartolini riguardano la programmazione in assembler su una architettura di tipo RISC: il MIPS 2000/3000. A tale scopo viene utilizzato un simulatore SPIM del processore MIPS, che potete istallare sulla vostra macchina (gira sotto Windows, Linux e Mac). Trovate tutte le informazioni alla pagina SimulatoreSpim. Alcune informazioni relative alle esercitazioni possono essere trovate alla paginaEsercitazioni del corso di Architetture 2, canale E-O ![]() |
AvvisiRisultati esoneri ed esami Ecco i voti dello scritto del 27 febbraio Ecco i voti dello scritto del 9 febbraio Ecco i voti dello scritto del 16 settembre Ecco i voti dello scritto del 13 luglio Ecco i voti dello scritto del 24 giugno. Ecco i risultati del secondo esonero con il voto finale. Indicazioni per esonero ed esami Prenotazioni
![]() |
![]() |
![]() |
Questo sito usa cookies, usandolo ne accettate la presenza. (CookiePolicy)
Torna al Dipartimento di Informatica ![]() |
|
![]() |
![]() |