Memoria cache

Post on 08-Feb-2016

49 views 2 download

description

Memoria cache. 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?. - PowerPoint PPT Presentation

Transcript of Memoria cache

MEMORIA CACHE

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

VELO

CID

AD

TAM

O

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:

Políticas de Ubicación

1) Directa2) Asociativa3) Asociativa por Conjuntos

Al bloque i-ésimo deMemoria principal lecorresponde la posición i módulo n,donde n es el número debloques de la memoriacache.

1)Ubicación Directa

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.

Ventajas y Desventajas

2)Ubicación AsociativaCualquier bloque dememoria principalpuede ir en cualquierade los n bloques de lamemoria 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).

Ventajas y Desventajas

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.

2)Ubicación Asociativa Por Conjuntos

Cada de bloquememoria puede ser ubicado en uno de N bloques del cache (conjuntos deN bloques).

Cada bloque dememoria tieneasociado unconjunto 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.

Ventajas y Desventajas

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 DemandaCon Prebúsqueda

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.

Con Prebúsqueda:

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.ht

ml www.monografias.com › Computacion

 › Hardware www.conozcasuhardware.com/.../mem

cache.htm www.mailxmail.com/curso.../memoria-

cache  www.minambiente.gov.co/.../5468_050

510_anexo_7_taller_pnb_comun_base.pdf

http://www.conozcasuhardware.com/