Memoria Cache
Memoria Cache
Aprovechamiento de localidad espacial
Memoria Cache- Ejemplo
• Si la memoria cache tiene 64 bloques
de 16 bytes, Que número de bloque
corresponde la dirección del byte
1200?
Memoria Cache- Ejemplo
• 1200/16 bytes=75 (número de bloque)
• Como hay 64 bloques, el bloque 75 es
el mismo 75 módulo 64=11
Memoria Cache
• Rendimiento
TCPU= (Ciclos CPU + Ciclos Memoria)Ciclo de Reloj
Ciclos Memoria = Ciclos Lectura + Ciclos Escritura
CiclosLect ura 
Lecturas
 % fallos  penalizaci ón
Pr o gra ma
 Escritura

CiclosEscr itura  
 % fallos  penalizaci ón   det encionesBu
 Pr o gra ma

ffer
Ciclos Memoria = Acceso Memoria  %fallos  Penalización
Programa
Ciclos Memoria = Instrucciones 
Fallos  Penalización
Programa
Instrucciones
Memoria Cache- Ejemplo
• Asuma % fallos de instrucción del 5% y
de datos del 10%. La frecuencia de
cargas y almacenamiento de datos es
del 33%. Si un procesador tiene un CPI
de 4 sin retardos de memoria y la
penalización es de 12 ciclos por fallos,
determine la relación con una cache
perfecta
Memoria Cache- Ejemplo
• Ciclos de falla por instrucción=
ICx5%x12=0.6xIC
• Ciclos de fallas por datos=
ICx33%x10%x12=0.4xIC
• Ciclos de detencion de memoria=
0.6xIC+0.4xIC=1.0xIC
• Relación con detencion de memoria=
(4+1)/4=1.25
Memoria Cache
Numero del bloque % numero de bloques en el cache
Numero del bloque % numero de conjuntos en el cache
El bloque para la direccion de bloque 12 puede aparecer en cualquier bloque
Memoria Cache
• Cache de mapeo directo= cache
asociativo por conjuntos de un camino:
cada entrada tiene un bloque y forma un
conjunto con un elemento.
• Cache completamente asociativo de m
entradas= cache asociativo por conjuntos
de m caminos: un conjunto con m bloques
y la entrada puede estar en cualquier
bloque de ese conjunto.
Memoria Cache
Memoria Cache- Ejemplo
• Hay tres caches con cuatro bloques de 1
word cada uno. Un cache es
completamente asociativo, uno es
asociativo por conjuntos de 2 caminos y
un cache es de mapeo directo. Asuma
que la politica de reemplazo es el de uso
mas reciente, encuentre el numero de
fallas para cada cache con las siguientes
direcciones de bloque: 0, 8, 0, 6, 8
Memoria Cache- Ejemplo
Mapeo directo
0
1
2
0
miss 0
8
miss 8
0
miss 0
6
miss 0
6
8
miss 8
6
3
Memoria Cache- Ejemplo
Asociativo por conjuntos de 2 caminos
0
0
0
miss 0
8
miss 0
8
0
hit
0
8
6
miss 0
6
8
miss 0
8
1
1
Memoria Cache- Ejemplo
Completamente Asociativo
0
0
1
0
miss 0
8
miss 0
8
0
hit
0
8
6
miss 0
8
6
8
hit
8
6
0
1
Memoria Cache
• Completamente Asociativa (Fully
Associative)
Cache
000
111
Memoria
00000
11111
Memoria Cache
• Completamente Asociativa (Fully
Associative)
Memoria Cache
• Asociativa por Conjuntos (Set Associative)
Cache
000
111
Memoria
00000
11111
Memoria Cache
Descargar

Slide 1