Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Te or I Came Moria Cache
Te or I Came Moria Cache
ORGANIZACIÓN DEL
COMPUTADOR
La jerarquía de memoria
Memoria caché
El tamaño del banco de memoria cache debe ser:
Suficientemente grande para que el procesador resuelva la
mayor cantidad posible de búsquedas de código y datos en esta
memoria asegurando una alta performance
Suficientemente pequeña para no afectar el consumo ni el costo
del sistema.
Se dice que se logra un hit cuando se accede a un ítem
(dato o código) y éste se encuentra en la memoria cache.
En caso contrario, se dice que el resultado del acceso es
un miss.
Se espera un hit rate lo mas alto posible
Si un dato es referenciado:
1KB 256 KB 1 GB 80 GB
1ns 5 ns 100 ns 5 ms
Cache
Caché:
Mantiene las palabras (datos o instrucciones) de
memoria de mayor uso
Reduce tiempo de acceso promedio. Controlador
“adivina” aplicando localidad
Características:
Alta velocidad
Capacidad pequeña
Físicamente: SRAM (varias veces más rápidas
que DRAM)
Cache
Uso:
Tamaño
Función de correspondencia
Algoritmo de sustitución
Política de escritura
Tamaño de línea
Número de cachés
[ Memoria ] Caché
Caché: Memoria principal:
K palabras
Nº Etiqueta Bloque Dir Datos
Bloque:
0 0
1 1
2 2
3 3
: :
CK<<2n
C-1
2n-1
K palabras
[ Memoria ] Caché
Caché: Memoria principal:
K palabras
Nº Etiqueta Bloque Dir Datos
Bloque:
0 Como hay menos líneas de caché que 0 bloques
1 de memoria principal, se necesita un1 algoritmo
2 2
que haga corresponder bloques de memoria
3
3 principal a líneas de caché.
: :
CK<<2n
C-1
2n-1
K palabras
[ Memoria ] Caché
2. Función de correspondencia:
Cache
000
001
010
011
111
100
101
110
Memory
Caché de Mapeo Directo
Si cada bloque de la caché puede contener los datos de unas
cuantas direcciones de memoria ¿Como se sabe si los datos
que están en la caché son los deseados?
Es decir, ¿como se sabe si hay hit o miss? Añadiendo a la
caché un conjunto de etiquetas (tags) que contienen la
información necesaria para identificar a un dato en la caché:
20 10
Hit Data
Tag
Index (de 32 bits)
Index Valid Tag
0
Data
• Se direcciona con los
1
2
bits A2..A11.
1021
• El tag está compuesto
1022
1023 por los bits A12..A31
20 32
16 12 2 Byte
Hit Tag Data
offset
Index Block offset
16 bits 128 bits
V Tag Data
4K
entries
16 32 32 32 32
Mux
32
Caché de Mapeo Directo
Correspondencia directa:
Correspondencia asociativa:
Correspondencia asociativa:
B lo c k T ag D a ta
0
T w o - w a y s e t a s s o c ia t iv e
1
Set Tag D a ta Tag D a ta
2
0
3
1
4
5 2
6 3
F o u r- w a y s e t a s s o c ia tiv e
S et T ag D a ta T ag D a ta Tag D a ta Tag D a ta
E ig h t - w a y s e t a s s o c ia t iv e (fu l ly a s s o c ia tiv e )
22 8
253
254
255
22 32
4-to-1 multiplexor
Hit Data
[ Memoria ] Caché
3. Algoritmos de reemplazo:
Random (aleatorio):
1KB 256 KB 1 GB 80 GB
1ns 5 ns 100 ns 5 ms
1. Inmediatamente
2. Post-escritura
[ Memoria ] Caché
Escritura inmediata:
Capítulo 4 y 5 – Stallings
Capítulo 6 – Null
Capítulo 4 - Tanenbaum