examen aic
Ejercicios de la Unidad Tem´atica 3. “Subsistema de memoria”
Ejercicio 3.1.
En la fase de dise˜no de la cache de un computador se est´an considerando dos alternativas. La primera es utilizar una
correspondencia directa, lo que da lugar a una tasa de fallos del 1.4 %, fijando el periodo de reloj en 1 ns. Lasegunda consiste
en utilizar una correspondencia asociativa, lo que permite reducir la tasa de fallos al 1 %, pero el periodo de reloj aumenta
hasta 1.25 ns. En caso de acierto, se consume un ciclo de reloj en leer o escribir el dato. Si los programas se ejecutan con un
CPI de 2, con 1.5 accesos a memoria por instrucci´on y la penalizaci´on por fallo es de 75 ns, dec´ıdase qu´e alternativa esla
mejor.
Soluci´on:
El tiempo de acceso a memoria en un sistema con memorias cache es:
Tacceso = T A + T F × P F
En nuestro caso:
Correspondencia directa:
Tacceso = 1 + 0,014 × 75 = 2,05 ns.
Correspondencia asociativa:
Tacceso = 1,25 + 0,01 × 75 = 2 ns.
Resulta mejor la correspondencia asociativa, pues reduce el tiempo de acceso.
Seguidamente, compararemos ambas alternativas desde elpunto de vista del tiempo de ejecuci´on. El tiempo de
ejecuci´on de un programa en un computador con memoria cache viene dado por:
Tejecucion = I × CP I × T + I × AP I × T F × P F × T . Sustituyendo:
Correspondencia directa:
Como el tiempo de acceso a memoria es de 75 ns y el periodo de reloj es de T = 1 ns, la penalizaci´on por
fallo en ciclos es de P F = 75:
Tejecucion = I × 2 × 1 + I × 1,5× 0,014 × 75 × 1 = 3,58I ns.
Correspondencia asociativa:
Como el tiempo de acceso a memoria es de 75 ns y el periodo de reloj es de T = 1,25 ns, la penalizaci´on
por fallo en ciclos es de P F = 60:
Tejecucion = I × 2 × 1,25 + I × 1,5 × 0,01 × 60 × 1,25 = 3,63I ns.
La correspondencia directa, con menor periodo de reloj, reduce el tiempo de ejecuci´on.
Ejercicio 3.2.
Analizar el tiempo deejecuci´on de un programa en un computador segmentado con CPI=1 bajo las siguientes configuraciones de memoria cache:
1. No emplear memoria cache.
2. Utilizar una cache con una tasa de fallos del 2 %.
3. Utilizar una cache perfecta.
La memoria principal tiene 100 ciclos de reloj de tiempo de acceso y el programa tiene un 50 % de instrucciones de
acceso a memoria.
Soluci´on:
1
El tiempo deacceso a memoria en un sistema con memorias cache es:
Tacceso = T A + T F × P F
El tiempo de ejecuci´on de un programa en un computador con memoria cache viene dado por:
Tejecucion = I × CP I × T + I × AP I × T F × P F × T .
Sustituyendo:
1. No emplear memoria cache.
Tacceso = 1 + 1(100 %) × 100 = 101 ciclos
Tejecucion = I × 1 × T + I × 1,5 × 1(100 %) × 100 × T = 151I ciclos.
2. Utilizaruna cache con una tasa de fallos del 2 %.
Tacceso = 1 + 0,02 × 100 = 3 ciclos
Tejecucion = I × 1 × T + I × 1,5 × 0,02 × 100 × T = 4I ciclos.
3. Utilizar una cache perfecta.
Tacceso = 1 + 0,0 × 100 = 1 ciclos
Tejecucion = I × 1 × T + I × 1,5 × 0,0 × 100 × T = I ciclos.
Ejercicio 3.3.
Se pretende comparar las prestaciones de dos subsistemas de memoria. El primero tiene sendas memorias cachede
instrucciones y datos de 16 KB cada una, mientras que el segundo tiene una u´ nica memoria cache de 32 KB. Tras haber
ejecutado unos programas de prueba, se ha obtenido que la tasa de fallos para la cache de instrucciones es de 3.83, para
la cache de datos de 40.9 y para la cache unificada de 43.3 (fallos por cada 1000 instrucciones ejecutadas), y que el 36 %
de las instruccionesejecutadas son de acceso a memoria. Si el tiempo de acierto y de fallo es de 1 y 100 ciclos de reloj,
respectivamente:
1. Calcular el tiempo de acceso a memoria en ambos esquemas.
2. Si el computador est´a segmentado y el programa de prueba se compone de n instrucciones, comparar las dos alternativas en base al tiempo de ejecuci´on.
Soluci´on:
1. Calculo del tiempo de acceso a memoria en ambos...
Regístrate para leer el documento completo.