You are on page 1of 4

Exercici E.

Teo 3
3.1. Política d’assignació directa
Tenim un sistema de memòria en el que tots els accessos es fan a paraula (no ens importa quina
és la mida d’una paraula). Suposarem que l’espai d’adreces de memòria es descompon en blocs
de 4 paraules i el sistema també disposa d’una memòria cau de 4 línies. Suposem que el sistema
fa servir una política d’assignació directa, de manera que cada bloc de la memòria principal només
es pot portar a una línia determinada de la memòria cau.

a) ​L’execució d’un programa genera la següent llista de lectures a memòria:

1, 2, 13, 14, 26, 27, 28, 29, 36, 37, 38, 39, 40, 3, 10, 11, 12, 13, 14, 15, 30, 8, 12

La següent taula mostra l’estat inicial de la cau, que conté les primeres 16 paraules de la memòria
(organitzades en 4 blocs). Completar la taula per a mostrar l’evolució de la cau durant l’execució
del programa. Per a cada accés cal omplir una columna indicant si es tracta d'un encert o una
fallada.

Línia Estat Inicial 1 2 13 14 26

0 0:0 (0 - 3) E 0:0 (0 - 3) E 0:0 (0 - 3) 0:0 (0 - 3) 0:0 (0 - 3) 0:0 (0 - 3)


1 1:0 (4 - 7) 1:0 (4 - 7) 1:0 (4 - 7) 1:0 (4 - 7) 1:0 (4 - 7) 1:0 (4 - 7)
2 2:0 (8 - 11) 2:0 (8 - 11) 2:0 (8 - 11) 2:0 (8 - 11) 2:0 (8 - 11) F 6:1 (24-27)
3 3:0 (12 - 15) 3:0 (12 - 15) 3:0 (12 - 15) E 3:0 (12 - 15) E 3:0 (12 - 15) 3:0 (12 - 15)

Línia 27 28 29 36 37 38

0 0:0 (0 - 3) 0:0 (0 - 3) 0:0 (0 - 3) 0:0 (0 - 3) 0:0 (0 - 3) 0:0 (0 - 3)


1 1:0 (4 - 7) 1:0 (4 - 7) 1:0 (4 - 7) F 9:2 (36-39) E 9:2 (36-39) E 9:2 (36-39)
2 E 6:1 (24-27) 6:1 (24-27) 6:1 (24-27) 6:1 (24-27) 6:1 (24-27) 6:1 (24-27)
3 3:0 (12 - 15) F 7:1 (28-31) E 7:1 (28-31) 7:1 (28-31) 7:1 (28-31) 7:1 (28-31)

Línia 39 40 3 10 11 12

0 0:0 (0 - 3) 0:0 (0 - 3) E 0:0 (0 - 3) 0:0 (0 - 3) 0:0 (0 - 3) 0:0 (0 - 3)


1 E 9:2 (36-39) 9:2 (36-39) 9:2 (36-39) 9:2 (36-39) 9:2 (36-39) 9:2 (36-39)
2 6:1 (24-27) F 10:2 (40-43) 10:2 (40-43) F 2:0 (8-11) E 2:0 (8-11) 2:0 (8-11)
3 7:1 (28-31) 7:1 (28-31) 7:1 (28-31) 7:1 (28-31) 7:1 (28-31) F 3:0 (12-15)

Línia 13 14 15 30 8 12

0 0:0 (0 - 3) 0:0 (0 - 3) 0:0 (0 - 3) 0:0 (0 - 3) 0:0 (0 - 3) 0:0 (0 - 3)


1 9:2 (36-39) 9:2 (36-39) 9:2 (36-39) 9:2 (36-39) 9:2 (36-39) 9:2 (36-39)
2 2:0 (8-11) 2:0 (8-11) 2:0 (8-11) 2:0 (8-11) E 2:0 (8-11) 2:0 (8-11)
3 E 3:0 (12-15) E 3:0 (12-15) E 3:0 (12-15) F 7:1 (28-31) 7:1 (28-31) F 3:0 (12-15)

b) ​Quina és la taxa de fallades (​Tf​ )​ ?


N ombre de f allades 8
Tf = N ombre d′accessos a la memòria = 23 ≃ 0.347

1​ / ​4
c) ​Suposem que el temps d’accés a la memòria cau, o temps d’accés en cas d’encert (​t​e), ​ és de 4
ns i que el temps total d’accés en cas de fallada (​t​f​) és de 20 ns. Considerant la taxa de fallades
obtinguda a la pregunta anterior, quin és el temps mitjà d’accés a memòria (​tm​ ​) ?
N ombre d′encerts 15
T e = N ombre d′accessos a la memòria = 23 ≃ 0.652

t m = T f * t f + T e * t e = T f * t f + (1 − T f ) * t e = T f * (t f − t e ) + t e ≃ 9.552

3.2. Política d’assignació completament associativa


La mida d’un bloc de memòria i d’una línia de cau es de 8 paraules. La cau té espai per guardar 3
línies, i fa servir una política d’emplaçament completament associativa, de manera que qualsevol
bloc de la memòria principal es pot portar a qualsevol línia de la memòria cau. Si trobem que la
cau ja està plena, es fa servir un algorisme de reemplaçament.

3.2.1 FIFO
L’execució d’un programa genera la següent llista de lectures a memòria:
0, 1, 2, 13, 14, 15, 16, 37, 38, 23, 24, 25, 42, 17, 18, 53, 54, 55, 56, 20, 21, 15, 16

L’estat inicial de la cau es buit i la cau s'omple seqüencialment començant per la línia 0.

a) Completar la taula següent per a mostrar l’evolució de la cau durant l’execució del programa.
Per a cada accés cal omplir una columna indicant si es tracta d'un encert o una fallada.

Línia Estat Inicial 0 1 2 13 14 15 16

0 ---- F 0 (0 - 7) E 0 (0 - 7) E 0 (0 - 7) 0 (0 - 7) 0 (0 - 7) 0 (0 - 7) 0 (0 - 7)
1 ---- F 1 (8 - 15) E 1 (8 - 15) E 1 (8 - 15) 1 (8 - 15)
2 ---- F 2 (16 - 23)

Línia 37 38 23 24 25 42 17 18

0 F 4 (32-39) E 4 (32-39) 4 (32-39) 4 (32-39) 4 (32-39) 4 (32-39) F 2 (16-23) E 2 (16-23)


1 1 (8-15) 1 (8-15) 1 (8-15) F 3 (24-31) E 3 (24-31) 3 (24-31) 3 (24-31) 3 (24-31)
2 2 (16-23) 2 (16-23) E 2 (16-23) 2 (16-23) 2 (16-23) F 5 (40-47) 5 (40-47) 5 (40-47)

Línia 53 54 55 56 20 21 15 16

0 2 (16-23) 2 (16-23) 2 (16-23) 2 (16-23) E 2 (16-23) E 2 (16-23) F 1 (8-15) 1 (8-15)


1 F 6 (48-55) E 6 (48-55) E 6 (48-55) 6 (48-55) 6 (48-55) 6 (48-55) 6 (48-55) F 2 (16-23)
2 5 (40-47) 5 (40-47) 5 (40-47) F 7 (56-59) 7 (56-59) 7 (56-59) 7 (56-59) 7 (56-59)

2​ / ​4
b) ​Suposem que tenim un vector de dades emmagatzemat a partir de l'adreça de memòria 60,
format per 4 elements (V[0] a V[3]), de 4 bytes cadascun, emmagatzemats de forma consecutiva.
La memòria cau conté els blocs de memòria 2, 3 i 7​. ​Suposeu que la línia de la cau que porta més
temps dins la cau és la línia 2, després la línia 0 i finalment la línia 1 (que és la que porta menys
temps).

Si s'executa dos cops seguits un accés seqüencial a tots els elements del vector:
s=0;
for (k=0;k<4;k++) s=s+V[k];
p=1;
for (k=0;k<4;k++) p=p*V[k];

Quantes fallades es produeixen en l'accés al vector V?

Líni P 60 64 68 72 S 60 64 68 72
a r e
i g
0 2 m 2 2 (16-23) 2 F 9 o 9 9 9 (72-80) E 9 (72-80)
(16-23) e (16-23) (16-23) (72-80) n (72-80) (72-80)
r
b
1 3 3 3 (24-31) 3 3 F 7 7 7 (56-63) 7 (56-63)
b u
(24-31) u (24-31) (24-31) (24-31) c (56-63) (56-63)
c l
2 7 l E 7 F 8 (64-71) E 8 8 e 8 E 8 E 8 (64-71) 8 (64-71)
(56-63) e (56-63) (64-71) (64-71) (64-71) (64-71)

N ombre d′encerts 3
T e = N ombre d′accessos a la memòria = 8 ≃ 0.375

Per tant, tenim que es produeixen 3 fallades amb una taxa de fallades aproximadament del 37.5%

3.2.2 LRU

Completar la mateixa taula que en l'apartat 3.2.1, però ara assumint que es fa servir un algorisme
de reemplaçament LRU, de manera que traurem de la memòria cau aquell bloc que fa més temps
que no s’ha referenciat.
0, 1, 2, 13, 14, 15, 16, 37, 38, 23, 24, 25, 42, 17, 18, 53, 54, 55, 56, 20, 21, 15, 16

Línia Estat inicial 0 1 2 13 14 15 16

0 ---- F 0 (0-7) E 0 (0-7) E 0 (0-7) 0 (0-7) 0 (0-7) 0 (0-7) 0 (0-7)


1 ---- F 1 (8-15) E 1 (8-15) E 1 (8-15) 1 (8-15)
2 ---- F 2 (16-23)

Línia 37 38 23 24 25 42 17 18

0 F 4 (32-39) E 4 (32-39) 4 (32-39) 4 (32-39) 4 (32-39) F 4 (40-47) 4 (40-47) 4 (40-47)


1 1 (8-15) 1 (8-15) 1 (8-15) F 3 (24-31) E 3 (24-31) 3 (24-31) 3 (24-31) 3 (24-31)
2 2 (16-23) 2 (16-23) E 2 (16-23) 2 (16-23) 2 (16-23) 2 (16-23) E 2 (16-23) E 2 (16-23)

Línia 53 54 55 56 20 21 15 16

0 4 (40-47) 4 (40-47) 4 (40-47) F 6 (56-63) 6 (56-63) 6 (56-63) 6 (56-63) 6 (56-63)


1 F 5 (48-55) E 5 (48-55) E 5 (48-55) 5 (48-55) 5 (48-55) 5 (48-55) F 1 (8-15) 1 (8-15)

2 2 (16-23) 2 (16-23) 2 (16-23) 2 (16-23) E 2 (16-23) E 2 (16-23) 2 (16-23) E 2 (16-23)

3​ / ​4
Lleugera ampliació:
N ombre de f allades 9
Tf= N ombre d′accessos a la memòria
= 23
≃ 0.391

Suposo el mateix de l’apartat c de l’exercici 3.1


N ombre d′encerts 14
T e = N ombre d′accessos a la memòria = 23 ≃ 0.608

t m = T f * t f + T e * t e = T f * t f + (1 − T f ) * t e = T f * (t f − t e ) + t e ≃ 10.260

Conclusió: amb els algorismes de reemplaçament hi ha més temps mitjà d’accés a memòria, tal i com
s’indica a l’apartat 3.5 dels apunts.

4​ / ​4

You might also like