You are on page 1of 5

66:20 Organizacin de Computadoras o Prctica 3: Memorias Cachs a e

1. Supongamos tener 3 computadoras con las siguientes conguraciones de memoria cach: (C1) DM, (C2) 2WSA y (C3) FA (i.e completae mente asociativo). En todos los casos, se trata de sistemas de alojamiento unicados, en donde la capacidad es de 8 l neas de 32 bit cada una, con reemplazo LRU.

# Benchmark B0 li t1, 100 loop: lw t2, 1024(zero) subu t1, t1, 1 bnez t1, loop

# Benchmark B1 li t1, 100 loop: lw t2, 1028(zero) subu t1, t1, 1 bnez t1, loop

# Benchmark B2 li t1, loop: lw t2, lw t2, subu t1, bnez t1,

100 1028(zero) 1032(zero) t1, 1 loop

# Benchmark B3 li t1, 100 loop: lw t2, 1028(zero) lw t2, 1032(zero) lw t2, 1036(zero) subu t1, t1, 1 bnez t1, loop

# Benchmark B4 li t1, 100 loop: lw t2, 1028(zero) lw t2, 1032(zero) lw t2, 1036(zero) lw t2, 1040(zero) subu t1, t1, 1 bnez t1, loop

Suponiendo que todos los benchmarks comienzan con la primera instruccin en la direccin de memoria nula, o o a) Cul es el benchmark con mejor desempeo en el cach C1? a n e b) Cules de 0 % 25 % 50 % 75 % 100 % representa mejor la tasa de a acierto para B1+C1? c) Qu cach tiene mejor tasa de acierto con B3? e e d ) Cul cach, logra una tasa de acierto nula con B4? Elegir uno a e de C1, C2, C3, o ninguno.

2. Para la siguiente jerarqu de memoria: a Microprocesador: 1Ghz. CPI (sin accesos a memoria): 0,7 Del total de instrucciones: 20 % son LECTURAS, 5 % son ESCRITURAS. L1 Instrucciones: Direct Mapped, 32Kb de Tamao, 32 bytes por n bloque. Write Back. 2 % de tasa de miss. Tiempo de hit despreciable. L1 Datos: Direct Mapped. 32Kb de Tamao. 32 bytes por bloque. n Write Through. 5 % de tasa de miss. Tiempo de hit despreciable. L2: 512Kb de Tamao. Write Back. 15ns de tiempo de hit. 80 % de n tasa de hit. 32 bytes por bloque. 50 % de bloques en estado dirty. Memoria Principal: 40ns de latencia. Ancho de bus 64bits. Clock de memoria principal 5ns. 200Mhz de Ancho de banda.

Cul es el tiempo promedio de acceso a memoria para leer una a instruccin? o Cul es el tiempo promedio de acceso a memoria para leer un a dato? Cul es el tiempo promedio de acceso a memoria para escribir a un dato? Cul es el CPI promedio, teniendo en cuenta los accesos a memoa ria? 3. Para este problema, asumir que se tiene un procesador con un cach conectado a memoria principal via un bus. Un cach hit toma 1 e e ciclo. Luego de un miss, un bloque se transere desde memoria principal sobre el bus. El fetch del bloque no se inicia hasta que comienza el ciclo siguiente al del miss. Una transaccin en el bus consiste de un ciclo para enviar la direccin o o de memoria, 4 ciclos de idle time para el acceso a memoria principal,

y luego un ciclo para transferir cada word del bloque desde memoria principal hacia el cach. e Asumir que el procesador contina la ejecucin slo despus de que el u o o e ultimo word del bloque ha sido transferido. En otras palabras, si el tamao de bloque es B words (32 bits/word), n un cach miss costar 1+1+4+B ciclos. e a El cuadro 1 muestra el miss rate promedio del cach para un cach de e e 1MB para varios tamaos de bloques. n B [words] 1 4 8 16 32 m [ %] 3.4 1.1 0.43 0.28 0.19

Cuadro 1: Tamao de bloque (B) vs. Miss rate (m) n

a) Escribir una expresin para el tiempo promedio de acceso a o memoria, en trminos de m y B. e b) Qu tamao de bloque otorga el mejor tiempo promedio de ace n ceso a memoria? c) Si la contencin por el acceso al bus agrega 3 ciclos al tiempo o de acceso a memoria principal, qu tamao de bloque otorga el e n mejor tiempo promedio de acceso a memoria? d ) Si el ancho del bus se cuadruplica a 128 bits, reduciendo el tiempo que toma la tranferencia del bloque (dentro de la transaccin en o el bus) a un 25 % del valor original, cul es el tamao de bloque a n o ptimo? Asumir que como m nimo se requiere 1 ciclo para la tranferencia, y no incluir los ciclos de contencin mencionados en el item o anterior. 4. Para cada uno de los siguientes puntos, elegir la respuesta correcta justicando su eleccin (la respuesta siempre se toma como erronea si o no est debidamente justicada) a a) Si el acceso a cach requiere un ciclo de reloj y cada cach miss e e produce un stall de 5 ciclos adicionales, cul de los siguientes a cach hit rates se acerca ms a lograr un acceso promedio a memoe a ria de 2 ciclos? 3

1) 2) 3) 4) 5)

75 % 80 % 83 % 86 % 98 %

b) LRU es una estrategia de reemplazo en cachs efectiva principale mente debido a que los programas . . . 1) . . . exhiben localidad de referencias a memoria 2) . . . usualmente trabajan en regiones de memoria pequeas n 3) . . . leen datos ms frecuentemente de lo que los escriben a c) Si incrementar el tamao de bloque de un cach mejora su pern e formance, esto se debe principalmente a que los programas . . . 1) . . . exhiben localidad de referencias a memoria 2) . . . usualmente trabajan en regiones de memoria pequeas n 3) . . . leen datos ms frecuentemente de lo que los escriben a d ) Dado el siguiente programa:
int a[1000]; size_t i; for(i=0; i<1000; i++) for(j=0; j<1000; j++) a[i]=a[i]+1;

Cuando es compilado con todas las optimizaciones apagadas y corrido en un procesador con un cach de datos de 1KB, 4 words e por l nea, write-back y fully-associative, cul es aproximadaa mente el miss rate que presenta este cach? e (asumir int = size t = word = 32 bits) 1) 2) 3) 4) 5) 6) 0,0125 % 0,025 % 0,05 % 0,1 % 5% 12,5 %

e) En un procesador de un ciclo por instruccin (CP Iexec ) con un o cach de instrucciones, el miss rate de dicho cach es del 5 %. e e Realizar el fetch de una l nea de cach desde memoria principal e toma 8 ciclos. Despreciando los caches misses de datos, cul es a el CPI promedio aproximado? 1) 0,45 % 2) 0,714 % 4

3) 1,4 % 4) 1,8 % 5) 2,22 % 5. Se tiene una mquina con una jerarqu de memoria que consta en un a a L1I y L1D separados y virtualmente direccionados, sin otros niveles de cache, de 8KB cada uno, no asociativos, con l neas de 32 bytes. Para las transferencias entre cache y memoria principal, la latencia es de 50 ns para lectura y escritura, y el ancho de banda es de 1 GB/s. Adems, slo puede haber una transferencia pendiente por desacierto. a o a) Encontrar una secuencia de accesos a memoria (words de 32 bits) expresada en direcciones de bytes, para la cual la tasa de desaciertos sea mayor para WB/WA que para WT/WA. b) Encontrar una secuencia de escrituras a memoria exclusivamente para la cual el procesador pase menos tiempo detenido para el caso WT/WA que para el caso WB/WA.

You might also like