Está en la página 1de 3

Pedro Javier Puerto Joya 61165

Mateo Luzardo Jiménez 61063

Escenario 3 - Ejercicio
Configuración de Cache
1. Niveles de cache: 2
2. Cache L1:
2.1 Tamaño de bloque: 8
2.2 Numero de bloques: 8
2.3 Política de ubicación: Direct Mapping
2.4 Política de reemplazo de bloque: LRU
3. Cache L2:
3.1 Tamaño de bloque: 8
3.2 Numero de bloques: 16
3.3 Política de ubicación: Direct Mapping
3.4 Política de reemplazo de bloque: LRU
Configuración inicial de Código
1. a0: 128 (bytes)
2. a1: 1
3. a2: 1
Preguntas - Ejercicio
1. ¿Cuál es el Hit rate de cache L1 y del cache L2? justifique su respuesta.
R//
L1 L1
Hit count 16 Tamaño del
Accesos 32 bloque 8
1 hit
Hit rate 0,5 Numero de
Medida cache 64 bloques 8
L2 L2
Hit count 0 Tamaño de
Accesos 16 bloque 8
miss
Hitmrate 0 Numero de
Medida dcache 128 bloques 16
El hit rate del cahe L1 Y L2 es =0 por que el tamaño del salto es 1 y el incremento se hace en
uno en uno El Hit Rate L1 = 50%, Hit rate L2 = 0%
Recorrer el arreglo de 128 bytes en saltos de a 4 (a1=1 y el código lo multiplica x4 en la línea
'slli t1, a1, 2') corresponde a 32 accesos en L1, de estos la mitad serán Miss ya que, de acuerdo
a la correspondencia de direcciones para L1 y L2 (ver cuadro), cada 2 accesos la dirección
solicitada en L1 corresponde a un bloque distinto en L2 y el acceso siguiente encontrará la
dirección disponible en la caché L1 ya que el salto es de a 4 y el tamaño del bloque de 8 y al
cargarse el valor solicitado previamente estará disponible el siguiente. Por tanto, L1 tendrá 16
Miss (que también serán Miss en L2) y 16 Hits, para un Hit Rate de 50%. En L2 los 16 accesos
corresponderán todos a Miss (bloques vacíos) para un Hit Rate de 0%.

2. ¿Cuántos accesos de memoria tenemos la cache L1? cuantos de los accesos son miss?
R//
accesos a memoria porque en el código podemos ver un
INT=4 bytes
array size en este caso es 128 y lo dividimos en 4 y eso nos da 32 accesos a memoria

128/4=32 accesos a memoria


No tenemos ninguna miss por que los saltos se hacen en 1 ala ves

Se pueden tener 32 accesos de memoria por que el código esta construidos con 4 bytes INT si
se determina que nuestro Array size es de 128 y lo divide entre 4 eso determina 32 accesos a
memoria, se realizan saltos de a 1 a la vez ya que estos parámetros no registran miss

En la cache L1 Se tienen 32 accesos, de los cuales 16 son Miss, esto porque en cada bloque se
presentan 4 accesos, 2 de ellos Miss (el primero por estar vacío y el segundo por no encontrase)
y los otros 2 son Hits (los accesos inmediatamente siguientes a los Miss, que estarán presentes,
porque el tamaño del bloque, hace que se carguen con la solicitud anterior)
3. ¿Cuántos accesos de memoria tenemos la cache L2? como se
relaciona este número de accesos con el cache nivel L1?

R// se registran 16 accesos ya que la Configuración del código inicia es el mismo lo único que
se cambia es la configuración de las caches que en este caso no afecta los accesos de memoria
L1?
En la cache L2 se presentan 16 accesos que corresponden a los 16 Miss en L1, que en
consecuencia al no estar disponible en L1 se solicitan en el nivel de jerarquía correspondiente a
L2.

4. ¿Qué parámetro del programa nos permitir a aumentar el hit rate de la cache L2, pero
manteniendo el hit rate de la cache L1? ¿Por qué?
R// a3 aumenta el hit rate l1
a2 mantiene el hit rate pero afecta el número de accesos, hit count L1 también aumenta el hit
rate de l2 en 0,6 el parámetro que permite aumentar el Hit Rate en L2 es a2, las repeticiones o
iteraciones del ciclo externo. Esto porque en el ejercicio solo se ejecuta 1 vez y los Miss
generados derivan consultas a la memoria principal y su cargue en L2, de suerte que en las
iteraciones siguientes los datos estarán disponibles ocasionando Hits que aumentarán el Hit
Rate. Esa modificación no afectará el Hit Rate de L1 que seguirá teniendo un Miss cada dos
accesos.
5. ¿Qué sucede con el hit rate de L1 y L2 a medida que
aumentamos lentamente el número de bloques en L1?
R//
El incremento paulatino del número de bloques en L1 no afecta en absoluto los Hit Rate de L1
y L2, al pasar de 8 a 16 bloques la correspondencia con L2 es 1 a 1 y se usan todos los bloques
pero se mantiene la relación de 50%, los incrementos posteriores no tienen impacto ya que no
accederán los bloques adicionales.

También podría gustarte