Corso di Architettura degli Elaboratori

Prof.ssa Massini Dott.ssa Bartolini


Docenti Telefono Orario di ricevimento Studio Email
AnnalisaMassini 06-4991 8317 giovedì 14-15 con appuntamento via e-mail Via Salaria 113 - 3° Piano st. 309 massini AT di.uniroma1.it
NovellaBartolini 06-4991 .... -------- Via Salaria 113 - 3° Piano st. 309 bartolini AT di.uniroma1.it


Orario delle lezioni

Le lezioni si svolgeranno secondo il seguente orario:

Docente Orario Aula
NovellaBartolini mar 11:00-13:00 Aula V Matematica
AnnalisaMassini i ven 11:00-13:00 Aula V Matematica

Programma del Corso

Il programma di massima del corso é: ProgrammaArc2

Il programma dettagliato, steso sulla base degli argomenti svolti a lezione, si trova in:


Libro di testo

Un buon testo cui fare riferimento è:

William Stalling "Architettura e organizzazione dei calcolatori", Pearson Addison Wesley


Modalità esame

Per superare l'esame di Architetture degli Elaboratori bisogna:

  • sostenere lo scritto o gli esoneri (su Assembler e argomenti svolti a lezione)
  • sostenere l'orale
L'orale riguarda tutti gli argomenti svolti a lezione (vedi argomenti delle lezioni, nella sezione sotto).


Argomento delle Lezioni

Lezione 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:


Esercitazioni

Le 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 pagina
Esercitazioni del corso di Architetture 2, canale E-O .

Nella pagina MaterialeAssembler trovate esercizi svolti assegnati negli scorsi anni accademici durante esami ed esercitazioni da vari docenti.


Date Esami

March 2024
          01 02
03 04 05 06 07 08 09
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31            


Avvisi

Risultati 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

  • Gli studenti che vogliono sostenere lo scritto o l'esonero devono prenotarsi su Infostud.

Scritti e orali

  • Chi supera il primo scritto può sostenere l'orale nella data del secondo appello.

Voti esonero

Ecco i voti dell'esonero.

Pagina materiale assembler

La pagina MaterialeAssembler contiene alcuni link alle soluzioni di esercizi d'esame di anni passati.

Un sito interessante

Vi segnalo un sito su cui potete trovare materiale per la preparazione all'esame.

http://WilliamStallings.com/COA5e.html

Fate attenzione a seguire lo schema del corso come è stato svolto a lezione e cercate le parti che veramente vi servono perche' il materiale è tanto (rischiate di "perdervi" di pagina in pagina).

Edit | Attach | Watch | Print version | History: r178 < r177 < r176 < r175 < r174 | Backlinks | Raw View | Raw edit | More topic actions
Topic revision: r178 - 2012-04-03 - 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-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