Sei sulla pagina 1di 7

Politecnico di Milano

SCUOLA DI INGEGNERIA INDUSTRIALE E


DELL’INFORMAZIONE

Principi di Architetture dei Calcolatori


Prof. NEGRINI
A.A. 2015/2016 – Appello del 23 Settembre 2016

Cognome................................................. Nome......................................................

Matricola................................................. Firma........................................................

Riportare i dati personali in modo che siano LEGGIBILI

DOMANDE
Q1 Q2

NOTE PER LO SVOLGIMENTO


Si raccomanda di essere sintetici (al ine di evitare inutili perdite di tempo in
trattazioni generiche e poco signiicative ai ini della valutazione inale) e
ordinati allo scopo di migliorare l'interpretazione da parte dei correttori.
I temi proposti debbono essere risolti utilizzando unicamente lo spazio lasciato
al termine del testo di ogni quesito, il retro delle pagine o, eventualmente,
utilizzando lo spazio inale. Verranno corretti SOLO i fogli componenti il tema
d’esame.

È vietato consultare testi o appunti di qualunque genere o usare dispositivi elettronici, così come
interagire con i vicini. Chiunque sia trovato in possesso di documentazione relativa al corso, anche
se non strettamente attinente al tema d'esame, vedrà annullata la prova.

Non è consentito uscire durante la prima mezz’ora e il compito deve


essere comunque riconsegnato anche in caso di ritiro.
Q1 - (8 punti)
Si consideri un circuito FULL ADDER: riceve in ingresso i due bit da sommare e
il bit di riporto in ingresso, e genera il bit di somma e il riporto in uscita.

Disegnare la struttura del circuito usando porte logiche elementari.


Q2 - (9 punti)
Illustrare il funzionamento di una memoria cache a indirizzamento diretto.
In particolare, si supponga che la CPU sia MIPS, e che quindi indirizzi il byte,
generando indirizzi da 32 bit.
Si supponga come per MIPS che una parola contenga 4 byte.
Si ipotizzi che la cache tratti blocchi da 16 parole, e che possa contenere 64
blocchi.

Come si ricava l’indirizzo del blocco in cache corrispondente a un indirizzo


generato dalla CPU? Come si determina se si ha MISS o HIT?

Si supponga che le scritture in cache siano gestite in modalità write back.


Descrivere questo comportamento.

Quali sono i vantaggi che si ottengono adottando invece una cache associativa
a 4 vie?
Politecnico di Milano
SCUOLA DI INGEGNERIA INDUSTRIALE E
DELL’INFORMAZIONE

Principi di Architetture dei Calcolatori


Prof. NEGRINI
A.A. 2015/2016 – Appello del 23 Settembre 2016

Cognome................................................. Nome......................................................

Matricola................................................. Firma........................................................

Riportare i dati personali in modo che siano LEGGIBILI

ESERCIZI
Q3 Q4
Q3 - (9 punti)
Si codiichi in assembler MIPS il seguente programma C. Il codice MIPS prodotto deve
essere equivalente al codice C dato, non sono permesse ottimizzazioni
interprocedurali.
int a=12;
int b=15;
int c=7;

void swap(int *x, int *y)


{
int temp = *x;
*x = *y;
*y = temp;
}

int main()
{
if(a>c+3) swap(&a,&c);
if(b-5>c) swap(&b,&c);
}

.data
a: .word 12
b: .word 15
c: .word 7

.text
.globl swap
swap:
lw $t0, 0($a0)
lw $t1, 0($a1)
sw $t1, 0($a0)
sw $t0, 0($a1)
jr $ra

.globl main
main:
lw $t0, a
lw $t1, c
add $t1, $t1, 3
ble $t0, $t1, else1
la $a0, a
la $a1, c
jal swap
else1:
lw $t0, b
sub $t0, $t0, 5
lw $t1, c
ble $t0, $t1, else2
la $a0, b
la $a1, c
jal swap
else2:
li $v0, 10
syscall
Q4 – (8 punti)
Data una funzione logica combinatoria caratterizzata dal seguente
ON_SET={1,5,9,13,14,15,26,31}, si disegni il circuito corrispondente
ottimizzandolo mediante l’algoritmo di Quine–McCluskey