Está en la página 1de 5

Respuestas al Problemario Memoria Cache

1. Para la traza de direcciones dada a continuacin, calcule la tasa de aciertos suponiendo una memoria cach (mapeo directo) de cuatro lneas de ocho bytes de longitud cada una. El CPU direcciona por byte y por palabra de 4 bytes, siendo el tamao del bus de direcciones de 32 bits.

Formato direccin Virtual: 2 bits para byte, 1 bit para palabra, 2 para lnea 27 para etiqueta. RB RB RB RB RB RB RB RB RB RW RW RB RB RB RB RB RB A16 A17 A18 A19 A1A A1B A1C A1D A1E B0B B10 A1F A47 A48 A49 A50 A3F Lnea 2 2 3 3 3 3 3 3 3 1 0 3 0 1 1 2 3 Etiqueta 50 50 50 50 50 50 50 50 50 162 162 50 52 52 52 52 51 A/F F A F A A A A A A F F A F F A F F A/F x 9

A A A A A A F F A F F A F

ESTE TROZO SE REPITE 10 VECES

RB: Read Byte RW: Read Word

81 aciertos/134 Accesos totales = 60,4% aciertos


2. Considere un procesador de 64 bits que cuenta con una memoria cach interna de 64K Bytes de capacidad, mapeo directo con 256 lneas. La memoria principal es de 4G Bytes. a) Indique el nmero de bytes por lnea. 1 punto 256 b) Muestre el formato de direccin virtual de este sistema de memoria. Etiqueta: 16; Lnea: 8; (Palabra: 5; Bytes: 3 = 8) c) Para la traza de direcciones dada a continuacin calcule la tasa de aciertos. 7A*7=49A;+5A=54A/112 (48.2%) Considere ahora una cache asociativa de dos vas con 128 conjuntos y 16 bytes por lnea: d) Muestre el formato de direccin virtual de este sistema de memoria. Etiqueta: 21; Lnea: 7; (Palabra: 1; Bytes: 3 = 4) e) Calcule la tasa de aciertos y compare. Use el algoritmo de reemplazo LRU. 13A*7=91A;+4A=96A/112 (85.7%) Direccin RB 0x1201AB1 F F RB 0xD2019FC F F RB 0xD201A34 F F RB 0x12C19F1 F F RB 0x1201398 F F RB 0x12C1998 A F RB 0x12C1391 F A F 2da vez en adelante Todos aciertos (13) RB 0x12C199A A A A RB 0xD2C1A34 F F F RB 0x12C19F1 F A F RB 0xD2CB833 F A F RB 0x52CBB32 F F F Se repite 8 veces RB 0xD2CB856 A A F RB 0xD2CBB56 F F F RB 0xD2CBB55 A A A RB 0x12C1A51 F F F RB 0XD3CBB59 F F F RB 0xD2CBB55 F F A RB 0x51CA835 F A F RB 0x120139A F F RB 0x12C1990 A A
3. Suponga una memoria cach de correspondencia directa (o correspondencia directa), de 128K bytes de datos con lneas de 256 bytes de longitud cada una. El CPU direcciona por byte y por palabra de 4 bytes, siendo el tamao del bus de direcciones de 32 bits. a) Calcule el nmero de lneas de cach.

b) c) d)

Muestre el formato de direccin virtual. Muestre la secuencia de aciertos y fallos y calcule la tasa de aciertos para la traza mostrada a continuacin. Considerando que ahora cuenta con una cache asociativa de dos vas, de igual nmero de conjuntos que de lneas del caso anterior y con el mismo nmero de bytes por lnea que en el caso anterior. Repita la parte c). El algoritmo de sustitucin es FIFO.

128 kbytes 217 = 8 = 2 9 = 512 lineas a) # de lineas = 256 lineas /byte 2


b) c)
RB RB RB RB RB RB RB RB RB RB RB RB RB RB RB RB RB RB RB 013728 0058A0 01372C 125824 01372C 125830 3 VECES 125838 013768 0BA600 2858FC 4 VECES 0BA608 0BA700 3537B0 3537B4 0BA708 393784 28580C 285900 285904

Etiqueta: 15 bits Ciclo 1


F F A F A A A A F F A F F A A F A F A

Linea: 9 bits Ciclo 2

W: 6 bits

B: 2 bits Ciclo 3

A A A A

A A A A

A A A A

F F A A A A F A A F A A F

A A A A

A A A A

A A A A

F F A A A A F A A F A A F

A A A A

A A A A

A A A A

# total de accesos = 81; # de aciertos = 62;

h=

62 = 76,54% 81
Ciclo 2 Ciclo 3

d) RB RB RB RB RB RB RB RB RB RB RB RB RB RB RB RB RB RB RB

013728 0058A0 01372C 125824 01372C 125830 3 VECES 125838 013768 0BA600 2858FC 4 VECES 0BA608 0BA700 3537B0 3537B4 0BA708 393784 28580C 285900 285904

Ciclo 1 F F A F A A A A F A F A A A F A F A A F A F A

A A A A

A A A A

A F A A A A A A A F A A F

A A A A

A A A A

A A A A

A F A A A A A A A F A A F

A A A A

A A A A

A A A A

# total de accesos = 81; # de aciertos = 66;

4. Indique el formato de direccin virtual si se tiene una cach de 32K Bytes y una memoria principal de 16 M Bytes en los siguientes casos: El tamao de las palabas es 64 bits. a) Cach correspondencia directa con lneas de 16 bytes. 9 ETIQUETA b) LINEA 11 1 PALABRA 3 BYTE

Cach asociativa por conjuntos con conjuntos de 4 lneas y lneas de 8 bytes. (1 PUNTO) 11 10 CONJUNTO BYTE 3

ETIQUETA c)

Cach completamente asociativa con lneas de 32 bytes. (1 PUNTO) 19 ETIQUETA 2 PALABRA BYTE 3

5.

Considere un procesador que direcciona por byte y palabra de 32 bits un espacio de memoria de 16 Mbytes. Para la traza de accesos que se muestra a continuacin, responda: a) Calcule la tasa de aciertos para una memoria cach de correspondencia directa que utiliza el siguiente formato de direccin virtual: Etiqueta 8 bits Linea 12 bits Palabra 2bits Byte 2 bits

b) Calcule la tasa de aciertos para una memoria cach, asociativa por conjuntos de 2 vias que utiliza el siguiente formato de direccin virtual: Etiqueta 12 bits Conjunto 8 bits Caso a 1era RB RB RB RB RB RB RB 0x020074 0x146A22 0x46007A 0x146A28 0x460076 0x041450 0X020072 F F F A A F F X20 A A F A A A F Se repite 20 veces Palabra 2bits Byte 2 bits Caso b 1era F F F A A F A X20 A A A A A A A

6.- Una cierta computadora tiene un sistema de memoria cach de correspondencia directa, y las direcciones que genera el CPU se interpretan segn el formato: Etiqueta 8 bits Lnea 8 bits Palabra 5 bits Byte 3 bits

a) Calcule la capacidad de la memoria cach en bytes, y diga cul es su organizacin. La memoria se organiza en palabras de 23 = 8 bytes, y cada linea contiene 25 = 32 palabras, por lo cual el nmero de bytes por lnea es 256. Dado que hay 8 bits dedicados a la identificacin de lnea, la cach contiene 28 = 256 lneas, y su capacidad ser entonces de 256 x 256 = 64 kbytes. b) Muestre la secuencia de aciertos y fallos y calcule la tasa de aciertos para la traza mostrada a continuacin. Lazo externo 1 paso Lazo interno 1 paso Pasos 2 a 11 F A F A F F A A A F A F F A F A A F F F A A A F A F A A F A A F A F A A A F A F A Pasos 2 a 4 Lazo interno Pasos 1 a 11

Direccin 003A50 003A58 013A60 013A80 3A2238 025B00 025B10 025B18 3A2230 003A58 003A70 013A58 3B23A8 3A2238 AA5BB0 AA5BB8 AA5BC0 3A5BF0 285800 285918 285970

Lnea 3A 3A 3A 3A 22 5B 5B 5B 22 3A 3A 3A 23 22 5B 5B 5B 5B 58 59 59

Etiqueta 00 00 01 01 3A 02 02 02 3A 00 00 01 3B 3A AA AA AA 3A 28 28 28

Nmero total de accesos a memoria = 7 + 4 x (8 + 11 x 6) = 303 Nmero de aciertos = 3 + 4 + 3 x 5 + 3 + 10 x 4 + 3 x (11 x 4) = 197

h=

Aciertos Accesos

197 303

= 0,6502

7.- El diseador de la computadora del problema 6 decide cambiar el sistema de memoria cach por una memoria asociativa por conjuntos de 2 vas, y el formato de direccin es ahora: Etiqueta 12 bits Conjunto 4 bits Palabra 5 bits Byte 3 bits

a) Calcule la capacidad de la memoria cach en bytes, y diga cul es su organizacin. El nmero de bytes por lnea es 256, igual que en el caso anterior, pero ahora tenemos dos vas o lneas por conjunto, as que hay 512 bytes por conjunto. Dado que se usan 4 bits para la identificacin de conjunto, la cach contiene 24 = 16 conjuntos, y su capacidad ser entonces de 512 x 16 = 8 kbytes. b) Muestre la secuencia de aciertos y fallos y calcule la tasa de aciertos para la traza del problema (1.b), suponiendo el uso del algoritmo de sustitucin LRU. Lazo externo 1 paso Lazo interno 1 paso Pasos 2 a 11 F A F A F F A A A A A A F A F A A F F F A A A A A A A A F A A F A F A A A A A A A Pasos 2 a 4 Lazo interno Pasos 1 a 11

Direccin 003A50 003A58 013A60 013A80 3A2238 025B00 025B10 025B18 3A2230 003A58 003A70 013A58 3B23A8 3A2238 AA5BB0 AA5BB8 AA5BC0 3A5BF0 285800 285918 285970

Conj. A A A A 2 B B B 2 A A A 3 2 B B B B 8 9 9

Etiqueta 003 003 013 013 3A2 025 025 025 3A2 003 003 013 3B2 3A2 AA5 AA5 AA5 3A5 285 285 285

El nmero total de accesos a memoria sigue siendo 303. Nmero de aciertos = 3 + 4 + 3 x 5 + 5 + 6 x 10 + 3 x (11 x 6) = 285

h=

Aciertos Accesos

285 303

= 0,9406

Pese a ser una memoria cach ms pequea, el uso del esquema asociativo por conjuntos aumenta la tasa de aciertos de 65% a 94%. Si embargo, la mejora procede casi exclusivamente del lazo interno, pues en el lazo externo el algoritmo LRU en este caso hace la peor decisin posible cada vez. Usar ms de dos vas o un algoritmo de reemplazo con algo de aleatoriedad mejorara an ms el valor de h.