Architettura degli elaboratori (canale AD + PR) a.a. 2009-2010

  • ATTENZIONE: a causa dell'assenza del prof. Mei (in anno sabbatico) l'esame verrà svolto da Andrea Sterbini
  • Esami di febbraio/marzo: (prenotatevi su INFOSTUD all'esame di Sterbini)
    • ATTENZIONE: orale mercoledì 9/3/11 dalle ore 10.00 in aula Riunioni (oppure nel mio studio) in Via Salaria, terzo piano

Docente: Alessandro Mei - Esercitatore: Gaia Maselli

Avvisi

  • Verbalizzazione e orali dell'appello di luglio venerdì 16 luglio, ore 9.30, aula Seminari, via Salaria 113.
  • Verbalizzazione e orali dell'appello di giugno martedì 13 luglio, ore 9.30, aula Seminari, via Salaria 113.
  • venerdì 18 giugno, durante la lezione, c'è una simulazione di scritto d'esame.
  • venerdì 21 maggio e lunedì 24 maggio non c'è lezione.

Obiettivi del Corso

In questo corso ci occupiamo di come sono organizzati i calcolatori moderni. Scopriremo le idee fondamentali alla base della straordinaria evoluzione dei microprocessori negli ultimi 30 anni, come pipelining, caching, e branch prediction. Alcune di queste idee ricorrono nell'informatica moderna anche in contesti apparentemente lontani e saranno utili, nel corso dei vostri studi, per capire i segreti della scienza dei computer.

Programma

  1. il set di istruzioni e il simulatore SPIM;
  2. il processore;
  3. pipelining e branch prediction;
  4. gerarchia di memorie;
  5. I/O;
  6. multiprocessor e multicore;

Libro di Testo

Computer Organization and Design: The Hardware/Software Interface, by D. Patterson and J. Hennessy, Morgan Kaufmann, 4th Edition, 2009.

Prerequisiti

9035_1205460744175_1458342646_581276_2381315_n.jpg

...e le altre cose che vi insegnano a Progetto di sistemi digitali. (Grazie ad Arbri Shqepa per questa vignetta.) Non ci sono propedeuticità formali, in altre parole, potete seguire il corso, fare l'esame e verbalizzare anche se non avete ancora dato Progetto di sistemi digitali.

Lezioni

Orario

giorno ore aula
lunedì 10.30-12.30 aula 1 NEC
venerdì 10.30-12.30 aula 1 NEC

Diario

Diario delle lezioni A.A. 2009/10

Esami

L'esame è composto di varie prove:

  1. un esercizio di MIPS da fare a casa (con valutazione), durante la prima parte del corso;
  2. un esonero in laboratorio a metà corso, sia di MIPS che di teoria, durante la pausa per gli esoneri;
  3. un esercizio di MIPS da fare a casa (con valutazione), verso la fine del corso;
  4. una prova finale durante l'appello di giugno/luglio, solo di teoria;
  5. un orale (se necessario).
Il voto finale tiene conto di tutte queste prove. Indicativamente, gli esercizi a casa valgono il 20% del voto finale, l'esonero di metà corso il 40% e la prova finale durante l'appello di giugno/luglio il 40%. E' solo una indicazione di massima, non garantisco che il voto sia effettivamente calcolato così. Chi è sufficiente dopo le prime quattro prove ha passato l'esame senza orale (basta una sufficienza globale, non serve la sufficienza a ogni prova). L'orale serve per rimediare alle prove mancate, o molto negative, o anche sufficienti ma con voto non abbastanza alto.

L'orale è sempre obbligatorio per chi non fa gli esoneri. Ricordatevi che gli esoneri valgono solo fino a luglio.

Prove d'esame 2009-2010

Esercizio 1

Esercizio 1: Scrivere un programma assembler (per il simulatore SPIM) che prende in input una stringa (da console) e ne ritorna la lunghezza. Per esempio, se inserisco "esame" il programma deve ritornare 5.

Scadenza per la consegna: sabato 10 aprile 2010, ore 23.59. La consegna va effettuata al sito http://twiki.di.uniroma1.it/~ale/consegna-Arc2.html. Per la consegna è necessario avere account e password di Twiki, il sistema ve la chiede. Il sito si chiude in automatico all'ora della scadenza, da quel momento in poi non è più possibile consegnare. E' possibile consegnare più volte, noi consideriamo come valida solo l'ultima soluzione consegnata.

Raccomandazioni:

  1. Il codice va commentato; un codice non commentato sarà penalizzato in termini di voto;
  2. l'esercizio va fatto da soli. Potete fare insieme altri esercizi, parlare, confrontarvi, ma quando cominciate a fare questo esercizio fatelo da soli. Guardate, ce ne accorgiamo sempre se un esercizio è copiato. In quel caso, che è successo spesso negli ultimi anni, sia che chi copia e chi fa copiare (senza distinzione) è sanzionato con l'annullamento del compito, l'annullamento di qualunque altra prova precedente, l'esclusione dal sistema degli esoneri e per queste persone l'orale su tutto il programma del corso è obbligatorio (e non escludo la possibilità di denunciare il fatto al presidente del Consiglio d'area didattica).

Sono usciti i risultati!

Esonero

L'esonero si tiene venerdì 30 aprile alle ore 11. Lo facciamo nel laboratorio Colossus (seminterrato di via Salaria 113). Cominciamo con la prova di assembler, direttamente su un computer Windows. E' molto probabile che vi debba dividere in due o tre gruppi, che faranno la prova uno dopo l'altro. Dopo le due tornate di prove di assembler (una per gruppo), tutti insieme facciamo la prova di teoria. Per l'esonero ricordatevi le seguenti cose:

  1. è obbligatorio prenotarsi su Infostud all'appello estivo degli esoneri;
  2. all'esame, sia di assembler che di teoria, è possibile portare questa dispensa; non è possibile portare libri o altri appunti.
  3. chi partecipa all'esonero deve avere una password su Twiki e ricordarla!

Esercizio 2

Scrivere un programma assembler (per il simulatore SPIM) che dato in memoria un array di interi distinti ordinati in maniera crescente e presi in input da tastiera due valori a,b, con a<b, stampi il numero di elementi dell'array compresi tra a e b (estremi a e b esclusi). Il programma deve fare uso della ricorsione.

Scadenza per la consegna: domenica 23 maggio 2010, ore 23.59. La consegna va effettuata al sito http://twiki.di.uniroma1.it/~ale/consegna-Arc2.html. Per la consegna è necessario avere account e password di Twiki, il sistema ve la chiede. Il sito si chiude in automatico all'ora della scadenza, da quel momento in poi non è più possibile consegnare. E' possibile consegnare più volte, noi consideriamo come valida solo l'ultima soluzione consegnata.

Raccomandazioni:

  1. Il codice va commentato; un codice non commentato sarà penalizzato in termini di voto;
  2. l'esercizio va fatto da soli. Potete fare insieme altri esercizi, parlare, confrontarvi, ma quando cominciate a fare questo esercizio fatelo da soli. Guardate, ce ne accorgiamo sempre se un esercizio è copiato. In quel caso, che è successo spesso negli ultimi anni, sia che chi copia e chi fa copiare (senza distinzione) è sanzionato con l'annullamento del compito, l'annullamento di qualunque altra prova precedente, l'esclusione dal sistema degli esoneri e per queste persone l'orale su tutto il programma del corso è obbligatorio (e non escludo la possibilità di denunciare il fatto al presidente del Consiglio d'area didattica).

Prova finale

La prova finale viene fatta durante gli appelli di giugno/luglio. Si tratta di una prova scritta solo di teoria, seconda parte del corso (da pipelining in poi). Per chi ha fatto l'esonero e gli esercizi, l'esame si conclude con la prova finale. Gli altri recuperano le parti mancanti con un orale.

Risultati e orali

Appello di giugno - risultati finali - verbalizzazione e orali martedì 13 luglio, ore 9.30, aula Seminari, via Salaria 113.

Appello di luglio - risultati finali - verbalizzazione e orali venerdì 16 luglio, ore 9.30, aula Seminari, via Salaria 113.

Gli appelli

La sessione estiva è composta da due appelli, uno a giugno e uno a luglio; orale obbligatorio per chi non ha fatto il primo esonero. La sessione autunnale è composta da un appello; orale obbligatorio per tutti. La sessione invernale è composta da un appello; orale obbligatorio per tutti.

  • primo appello, venerdì 25 giugno, ore 9.30, aula 1 Nec.
    • Chi si è iscritto agli esoneri (ad aprile) non si deve iscrivere nuovamente;
    • la prova consiste nel secondo esonero;
    • questa prova conclude l'esame per chi ha fatto il primo esonero;
    • orale obbligatorio in data da destinarsi per chi non ha fatto il primo esonero.
  • secondo appello, venerdì 9 luglio, ore 9.30, aula 1 Nec.
    • Chi si è iscritto agli esoneri (ad aprile) non si deve iscrivere nuovamente;
    • la prova consiste nel secondo esonero;
    • questa prova conclude l'esame per chi ha fatto il primo esonero;
    • orale obbligatorio in data da destinarsi per chi non ha fatto il primo esonero.
    • dopo il secondo appello gli esoneri perdono validità.

Prove degli anni precedenti

2008-09

FAQ

Dove posso trovare il libro di testo?

Risposta: In biblioteca c'e' una copia del libro. Comunque vi consiglio di acquistarlo. Alcuni studenti mi hanno segnalato che è disponibile presso Ingegneria 2000, via della Polveriera, Roma.

Esiste una versione in italiano del libro di testo? Possiamo studiare sulla versione in italiano?

Risposta: La versione in italiano esiste, edita dalla Zanichelli nel luglio 2006 (l'edizione precedente era del 1995). Mi sembra ben tradotta (strano). In generale, potete studiare dove vi pare. Lo so che siete pigri e siete tentati di prendervi la versione in italiano invece di quella in inglese, vi conosco. Non fatelo, seguite il mio consiglio e compratevi quella in inglese (procuratevi anche un dizionario, se non siete del tutto sicuri di capire tutto). I motivi sono diversi. Forse il principale è che dovete, ripeto dovete, imparare l'inglese. E' per voi. Nessuno vi farà un esame su questo (a parte quello del primo semestre del primo anno). Ciò non toglie che sia molto importante. Tra l'altro, dal secondo anno in poi, gran parte del materiale di studio sarà esclusivamente in inglese: meglio cominciare da subito.

Io ho il Tanembaum (oppure lo Stallings), va bene lo stesso per preparare l'esame?

Risposta: No, non va bene.

Io non sono del suo canale, posso fare l'esame con lei?

Risposta: Se lei è del primo anno la risposta è no. E' una questione di regolamento, io non c'entro. Altrimenti, se è di un anno successivo al primo, può scegliere il canale che vuole, anche il mio.

Io non ho fatto gli esoneri, posso passare l'esame all'appello regolare o a settembre?

Certo. Però per lei l'orale è obbligatorio.

Ehi! Ho visto che parte dell'esame si può superare facendo degli esercizi a casa! Va bene se copio la soluzione da un collega e poi la consegno come se fosse mia? Devo cambiare il nome delle variabili e delle etichette?

Risposta: No, non va bene. Dovete capire che permettervi di fare gli esercizi a casa è un atto di fiducia nei vostri confronti. Sono convinto che la stragrande maggioranza di voi ripagherà questa mia fiducia comportandosi in maniera più che corretta. Per le eccezioni (che purtroppo non sono mancate), sappiate che chi copia e chi fa copiare (senza distinzione) è sanzionato con l'annullamento del compito, l'annullamento di qualunque altra prova precedente, l'esclusione dal sistema degli esoneri e per queste persone l'orale su tutto il programma del corso è obbligatorio (e non escludo la possibilità di denunciare il fatto al Presidente del Consiglio d'area didattica).

Io sono del vecchio ordinamento e ho passato il progetto duemila anni fa. Vale lo stesso? Posso venire direttamente all'orale?

Risposta: Si, vale lo stesso. Può venire, se ha un modo di certificare il fatto che ha passato il progetto.

Ho passato gli esoneri! Se non completo l'esame a giugno/luglio, perdo l'esonero?

Risposta: Bravo! Però purtroppo sì, lo perde. L'esonero vale fino a luglio incluso. (Nota: una volta valeva fino a settembre, ma per motivi organizzativi quest'anno devo cambiare le regole.)

Ma io sono di un anno successivo al primo e devo fare Architetture degli elaboratori 2 da 8 crediti, non questo Architettura degli elaboratori da 6 crediti! Come faccio?

Risposta: Mi scriva, le dirò come fare.

Topic attachments
I Attachment History Action Size Date Who CommentSorted ascending
PDFpdf SPIM_AppA.pdf r1 manage 482.6 K 2010-03-19 - 13:18 GaiaMaselli Appendice A del libro Computer Organization and Design: The Hardware/Software Interface, D. Patterson and J. Hennessy
Unknown file formats input_output.s r2 r1 manage 0.5 K 2010-03-19 - 13:31 GaiaMaselli Esercizio_1 del 19 marzo
Unknown file formats matrice_x_vettore.s r1 manage 1.6 K 2010-04-29 - 08:13 GaiaMaselli Esercizio_1 del 23 aprile
Unknown file formats input_output_stringa.s r1 manage 0.5 K 2010-03-30 - 12:50 GaiaMaselli Esercizio_1 del 26 marzo
Unknown file formats conversione_dec_bin.s r1 manage 0.7 K 2010-04-19 - 12:38 GaiaMaselli Esercizio_1 del 9 aprile (conversione dec. bin.)
Unknown file formats input_output_sequenza_interi.s r1 manage 0.7 K 2010-03-19 - 13:27 GaiaMaselli Esercizio_2 del 19 marzo
Unknown file formats matrice_x_vettore_fun.s r1 manage 2.1 K 2010-04-29 - 08:18 GaiaMaselli Esercizio_2 del 23 aprile
Unknown file formats input_output_array.s r1 manage 1.0 K 2010-03-30 - 13:08 GaiaMaselli Esercizio_2 del 26 marzo
Unknown file formats riempimento_matrice.s r1 manage 1.1 K 2010-04-19 - 12:40 GaiaMaselli Esercizio_2 del 9 aprile (matrice)
Unknown file formats merge.s r1 manage 1.5 K 2010-04-19 - 12:51 GaiaMaselli Esercizio del 16 aprile (stampa merge di due vettori)
Unknown file formats homework1.s r1 manage 0.9 K 2010-04-19 - 12:46 GaiaMaselli Homework aprile 2010
Unknown file formats 1-esonero-AD.s r1 manage 1.3 K 2006-08-22 - 11:16 DanieleGorla  
Unknown file formats 2-esonero-AD.s r1 manage 1.1 K 2006-08-22 - 11:16 DanieleGorla  
Unknown file formats 3esonero-AD.s r1 manage 2.5 K 2006-08-22 - 11:16 DanieleGorla  
Microsoft Word filedoc I-esonero-AD.doc r1 manage 23.0 K 2006-08-22 - 11:16 DanieleGorla  
Microsoft Word filedoc II-esonero-AD.doc r1 manage 25.5 K 2006-08-22 - 11:16 DanieleGorla  
Microsoft Word filedoc III-esonero-AD.doc r1 manage 24.5 K 2006-08-22 - 11:16 DanieleGorla  
Texttxt RisultatiEsercizio2008.txt r1 manage 1.2 K 2008-03-27 - 09:37 DanieleGorla  
PDFpdf SPIM-instructions.pdf r1 manage 249.2 K 2009-04-14 - 12:11 AlessandroMei  
Microsoft Word filedoc esame-17-7-06.doc r1 manage 24.5 K 2006-08-22 - 11:16 DanieleGorla  
Microsoft Word filedoc esame-22-9-06.doc r1 manage 24.0 K 2006-09-25 - 12:17 DanieleGorla  
Microsoft Word filedoc esame-26-6-06.doc r1 manage 26.0 K 2006-08-22 - 11:16 DanieleGorla  
Unknown file formats fib2.s r1 manage 1.0 K 2009-05-12 - 08:05 JulindaStefa  
Unknown file formats fibonacci.s r1 manage 1.2 K 2009-05-12 - 08:05 JulindaStefa  
Unknown file formats matriceVettore.s r1 manage 2.3 K 2009-04-30 - 17:03 JulindaStefa  
Unknown file formats potenze.s r1 manage 1.0 K 2009-05-12 - 08:06 JulindaStefa  
Unknown file formats soluz-esame-17-7-06.s r1 manage 2.8 K 2006-08-22 - 11:16 DanieleGorla  
Unknown file formats soluz-esame-22-9-06.s r1 manage 1.8 K 2006-09-25 - 12:17 DanieleGorla  
Unknown file formats soluz-esame-26-6-06.s r1 manage 2.2 K 2006-08-22 - 11:16 DanieleGorla  
Unknown file formats sommaTriangolareInferiore.s r1 manage 1.5 K 2009-04-30 - 17:02 JulindaStefa  
PDFpdf scritto-21-09-2007.pdf r1 manage 174.2 K 2007-09-23 - 07:23 AlessandroMei scritto di teoria
Unknown file formats esoneroA.s r1 manage 1.2 K 2009-04-30 - 17:00 JulindaStefa Soluzione esercizio A dell'esonero
Unknown file formats esoneroB.s r1 manage 1.2 K 2009-04-30 - 17:02 JulindaStefa Soluzione esercizio B dell'esonero
Unknown file formats sommePrefisse.s r1 manage 5.3 K 2009-04-08 - 12:31 JulindaStefa SommePrefisse
Edit | Attach | Watch | Print version | History: r181 < r180 < r179 < r178 < r177 | Backlinks | Raw View | Raw edit | More topic actions
Topic revision: r181 - 2011-03-02 - AndreaSterbini






 
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