Architettura degli elaboratori

a.a 2019-2020

docente: Alessandro Mei

News

Sulla base delle disposizioni delle autorità competenti per l'emergenza Coronavirus, sono sospese le attività didattiche in presenza dal 2 al 3 aprile 2020. Le lezioni continuano in modalità telematica. Per collegarvi alla lezione, dovete:


1. Iscrivervi alla Classroom codice xb6vg2s

2. Cliccare sull'invito spedito via Calendar


Il video della lezione è caricato sulla nostra Google Classroom.


Obbiettivi del corso

In questo corso ci occupiamo di come sono organizzati i calcolatori moderni. Parleremo di come è fatto un microprocessore e delle idee che hanno permesso la straordinaria evoluzione della potenza di calcolo negli ultimi 30 anni come pipelining, caching, branch prediction, e multi-processing.


Per gli studenti

1. Iscrivetevi alla mailing list!

2, Importate il Calendar del corso che trovate sulla Google Classroom.

3. Tenete d'occhio il diario delle lezioni.

Facciamo un patto: voi vi preoccupate di venire sempre a lezione, io faccio in modo che ne valga sempre la pena. Ma se proprio non potete seguire perché studenti lavoratori, escrivetevi almeno alla mailing-list. La userò per mandare messaggi importanti che interessano anche voi.


Orario delle lezioni

Lunedì dalle 8.00 alle 11.00 e giovedì dalle 8.00 alle 10.00, aula 3, Matematica (edificio CU006), Città Universitaria.


Programma e libro

1. Il set di istruzioni;

2. il processore;

3. pipelining e branch prediction;

4. gerarchie di memorie;

5. I/O;

6. multiprocessor e multicore.


Struttura e progetto dei calcolatori: progettare con Risc-V

David A. Patterson, John L. Hennessy

ISBN: 9788808820594


Esame

L'esame è composto di varie prove:


1. un esonero in laboratorio a metà corso, sia di MIPS che di teoria, durante la pausa per gli esoneri;

2. un esercizio di RISC-V da fare a casa (con valutazione), verso la fine del corso;

3. una prova finale durante l'appello di giugno/luglio, solo di teoria;

4. un orale (obbligatorio solo per chi non fa gli esoneri).

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 50% e la prova finale durante il primo appello estivo il 30%. 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 al primo appello estivo.


Homework

Homework 1: Dato un array di n interi in memoria e un intero x, scrivere un programma che stampa il numero di volte che x appare nell'array.


.data

a:     .word 7, 8, -2, 0, 12, 9, 8

n:     .word 7

x:     .word 8


.text      # Programma iterativo che stampa a video il numero di volte che x appare in a

               # Nel caso dell'esempio qui sopra il valore da stampare è 2.


Deadline: ore 23:59 del giorno martedì 7 aprile 2020.

Consegna: da consegnare tramite la nostra Google Classroom.


FAQ

Sono uno studente lavoratore. Posso fare gli esoneri?

Certo, perché no. Anzi le consiglio di farli. Ma mi raccomando, si iscriva alla mailing list e tenga d'occhio il diario delle lezioni.


Dove posso trovare il libro di testo?

In biblioteca c'e' una copia del libro. Comunque vi consiglio di acquistarlo, lo trovate facilmente online (ma attenzione a non confonderlo con Computer Architecture: A Quantitative Approach, testo avanzato scritto dagli stessi autori ma in ordine diverso).


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

No, non va bene.


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

Chiedete alla Segreteria didattica del Dipartimento.


Io non ho fatto gli esoneri, posso passare l'esame a giugno, luglio, settembre o gennaio dell’anno prossimo?

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 facendo finta che sia mia? Devo cambiare il nome delle variabili e delle etichette così che lei non si accorga che è lo stesso esercizio copiato?

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).


Prof, gli studenti più anziani narrano che lei ha annullato tutti gli esoneri fatti e gli esercizi a casa validi per l’esame a ben 27 studenti in un solo anno a causa di copiatura negli esercizi a casa. E’ una leggenda che ha messo in giro lei per far paura a noi matricole o è la verità?

...


Io ho passato il progetto di Architettura duemilacinquecento anni fa, ho una certificazione firmata da un druido del tempo su una vecchia tavoletta di argilla. La tavoletta è rotta in più punti ma si legge ancora abbastanza bene a patto di conoscere l’antica lingua etrusca. E’ ancora valido? Posso venire direttamente all'orale?

Si, è ancora valido. Può venire direttamente all’orale ma porti con sé i pezzi della tavoletta di argilla per certificare che ha effettivamente passato il progetto.


Ho passato gli esoneri! Se non completo l'esame al primo appello di giugno, perdo l'esonero?

Bravo! Però purtroppo sì, lo perde.