Download Memoria cache - maquinasdigitales

Document related concepts
no text concepts found
Transcript

La palabra Caché procede de la voz
inglesa cache (/kæʃ/; «escondite secreto
para guardar mercancías, habitualmente de
contrabando» ) y esta a su vez de
la francesa cache, (/kaʃ/; «escondrijo o
escondite»).
¿Qué es?
Una caché es un conjunto de datos duplicados de
otros originales, con la propiedad de que los datos
originales son costosos de acceder, normalmente en
tiempo, respecto a la copia en la caché.
Su Uso
Se pretende con la cache que los procesadores
reduzcan el tiempo necesario para acceder a
los datos guardados en la memoria. Los datos
que se van a copiar dependen del procesador
y la cache.
1. Búsqueda en cache.
2. Hit ?
3. Se realiza operación.
Tipos
Memoria cache interna
- L1 (Se encuentra dentro del núcleo)
- L2 (En el procesador)
- L3 (En placa base)
- Memoria de disco
 Memoria cache Externa
TAMAÑO
VELOCIDAD

Historia
El primer procesador que vino con memoria caché
L2 fue el Pentium Pro en 1995 , su capacidad fue
de 256 KB.
 Con la introducción del Pentium II. Una ranura
para un módulo de memoria caché dedicada fue
plantado en el procesador
 Sin embargo, fue desde la segunda generación
de los procesadores Pentium III que la memoria
caché se encontró dentro del procesador como
tal.

Tipos de Políticas
Política de Ubicación
 Política de Reemplazo
 Política de Extracción
 Política de Actualización

Política de reemplazo

Determina qué bloque de memoria caché debe
abandonarla cuando no existe espacio disponible
para un bloque entrante. Básicamente hay cuatro
políticas que son:
Tipos de Política de Reemplazo
Aleatoria: El bloque es reemplazado de
forma aleatoria.
 FIFO: Se usa un algoritmo First In First Out
 Menos recientemente usado (LRU): Se sustituye el
bloque que hace más tiempo que no se ha usado en
la cache.
 Menos frecuencias usadas (LFU): Se sustituye el bloque
que ha experimentado menos referencias.

Políticas de actualización

Determinan el instante en que se actualiza la
información en Memoria principal cuando se
produce una escritura en Memoria caché
Tipos de Políticas de actualización
1)Escritura Inmediata
 2)Escritura Aplazada

1)Escritura inmediata
-Write through-Se escribe a la vez en Memoria caché y
Memoria principal

-Ventajas:
Asegura la consistencia en sistemas mono-procesadores

--Inconvenientes:
El procesador tiene que esperar (La diferencia entre los
tiempos de escritura en Memoria caché y Memoria
principal) para que se complete la escritura.

--Solución:
Usar un buffer de escritura
2)Escritura aplazada

post-escritura –Writeback- Actualiza únicamente la Memoria caché.
--Ventajas:
-Produce menos tráfico de información en la Memoria principal
-Los accesos de escritura, en caso de acierto, se llevan a cabo a la velocidad de la
Memoria caché
--Inconvenientes:
-El diseño es más complejo, debido a que es necesario implementar el control del dirty
bit.
-Desde el punto de vista de los posibles fallos hardware transitorios de la Memoria
caché , es preferible la utilización de la escritura inmediata.
--Soluciones:
Existen dos formas de actuar en el caso en que un acceso de escritura produce fallo:


Escritura con ubicación
Escritura sin ubicación
Decide dónde debe colocarse un bloque de memoria principal que entra en la
memoria cache. Las más utilizadas son:
1)Ubicación Directa
Al bloque i-ésimo de
Memoria principal le
corresponde la posición i
módulo n,
donde n es el número de
bloques de la memoria
cache.
Económico, acceso rápido (utilizado en
caches internas), el bloque está disponible
antes de terminar la comparación.
 Mayor razón de desaciertos por
competencia por bloque específico.

2)Ubicación Asociativa
Cualquier bloque de
memoria principal
puede ir en cualquiera
de los n bloques de la
memoria cache.
Acceso más lento, dato no disponible hasta
saber si acceso fue acierto o desacierto
(etapa de comparación y multiplexión).
 Menor tasa de desaciertos
por competencia por bloque
 Más caro (muchos comparadores).

2)Ubicación Asociativa Por
Conjuntos
La memoria caché se divide en k conjuntos de bloques, así
al bloque i-ésimo de memoria principal le corresponde el
conjunto i módulo k. Dicho bloque de memoria podrá
ubicarse en cualquier posición de ese conjunto.
Cada de bloque
memoria puede ser ubicado en uno
de N bloques del cache (conjuntos
de
N bloques).
Cada bloque de
memoria tiene
asociado un
conjunto específico
• Más económico que caché completamente asociativo, pero más
caro que caché directo.
• Dato disponible después de etapa de comparación y
multiplexión.
La dirección se descompone en varios campos:
• Etiqueta (tag): se utiliza para comparar la dirección
requerida por la CPU con aquellos bloques que pueden
contener la información deseada (búsqueda en paralelo de
etiquetas)
• Índice (index): se usa para seleccionar el conjunto, en el
caso de las asociativas por conjunto, o el bloque en
las de mapeado directo (conjuntos de una vía). No
existe para las completamente asociativas
• Desplazamiento de bloque (block offset): selecciona el
dato deseado dentro del bloque
Implementación Caché Asociativo
por Conjuntos
Políticas de extracción

La política de extracción determina cuándo y qué
bloque de memoria principal hay que traer a
memoria cache. Existen dos políticas muy extendidas:
Por Demanda:

Un bloque sólo se trae a memoria cache cuando
ha sido referenciado y se produzca un fallo.

Cuando se referencia el bloque i-ésimo de
memoria principal, se trae además el bloque
(i+1)-esimo. Esta política se basa en la propiedad
de localidad espacial de los programas.
Mejoras de desempeño
Un procesador rápido no es suficiente para
aumentar el desempeño si el acceso a la
memoria es muy lento.
 Es por eso que en la actualidad se buscan
estrategias para disminuir el tiempo de
“viaje” de los datos.
 La memoria caché es una de estas
estrategias, y ha sido tan exitosa que se
siguen buscando formas de aumentar la
capacidad del caché.

La estrategia “Multicore”
Una de las estrategias más usadas
actualmente es la de incluír más núcleos de
procesamiento dentro del mismo chip.
 Esto le permite al procesador realizar más
de un proceso de forma simultanea,
aumentando el rendimiento sin necesidad de
consumir más energía.

Memoria Caché en procesadores
Multicore
Cada núcleo tiene su propia caché de nivel
1, lo cual le permite seguir accediendo a los
datos de una forma muy rápida.
 Existen dos estrategias para la
implementación de la caché de nivel 2:

 Cada núcleo tiene su propio espacio reservado
de la caché L2. (Usado principalmente por AMD)
 La totalidad de la caché L2 está disponible para
el núcleo que la necesite(Usado principalmente
por Intel)
Conclusiones
La memoria caché mejora el desempeño
general de un sistema al guardar
información de los procesos más utilizados.
 Aumentar el tamaño de la memoria caché
solo es eficiente hasta cierto punto, pues
aunque se puedan guardar muchos datos, si
estos no se usan con cierta frecuencia, no hay
una mejora real en la velocidad de
procesamiento.

Conclusiones
El caché es hasta 6 veces más rápido que la
DRAM
 Entre mayor sea la tasa de aciertos que
hace la memoria caché, mejor será el
rendimiento del procesador.

Bibliografía







es.wikipedia.org/wiki/Cache
www.configurarequipos.com/doc585.html
www.monografias.com
› Computacion › Hardware
www.conozcasuhardware.com/.../memcache.htm
www.mailxmail.com/curso.../memoria-cache
www.minambiente.gov.co/.../5468_050510_an
exo_7_taller_pnb_comun_base.pdf
http://www.conozcasuhardware.com/