MEMORIA CACHÉ
INTRODUCCIÓN:
Una memoria caché es una memoria en la que se almacenas una serie de datos para su rápido acceso. Existen muchas memorias caché (de disco, de sistema, incluso de datos, como es el caso de la caché de Google), pero en este tutorial nos vamos a centrar en la caché de los procesadores. Básicamente, la memoria caché de un procesador es un tipo de memoria volátil (del tipo RAM), pero de una gran velocidad.
En la actualidad esta memoria está integrada en el procesador, y su
cometido es almacenar una serie de instrucciones y datos a los que el
procesador accede continuamente, con la finalidad de que estos accesos
sean instantáneos. Estas instrucciones y datos son aquellas a las que el
procesador necesita estar accediendo de forma continua, por lo que para
el rendimiento del procesador es imprescindible que este acceso sea lo
más rápido y fluido posible.
Con el objetivo de lograr un tiempo de acceso menor a los datos almacenados en distintos tipos de memoria, existen sistemas de hardware o software llamados caché, los cuales almacenan estos datos de forma duplicada. La memoria caché contenida dentro de una CPU está más cercana que la memoria RAM o memoria principal de la computadora, y es por esta razón que mejora la capacidad de procesamiento del mismo.
ETÍMOLOGIA:
La palabra procede de la voz inglesa cache («escondite secreto para guardar mercancías, habitualmente de contrabando») y esta a su vez de la francesa cache, es la Memoria de acceso rápido de una computadora, que guarda temporalmente las últimas informaciones procesadas.
La Real Academis Española, en el Diccionario de la Lengua Española, sólo reconoce la palabra con tilde, aunque en la literatura especializada en Arquitectura de computadoras, se emplea siempre la palabra sin tilde por ser anglosajona y debería escribirse en cursiva (cache).
Fuente: http://es.wikipedia.org/wiki/Cach%C3%A9_%28inform%C3%A1tica%29
COMPOSICIÓN:
Cuando se copia o se escribe información de la RAM por cada movimiento siempre cubre una línea de cache.
La memoria cache tiene incorporado un espacio de almacenamiento llamado Tag RAM, que indica a qué porción de la RAM se halla asociada cada línea de cache, es decir, traduce una dirección de RAM en una línea de cache concreta.
TIPOS:
Memoria caché nivel 1 (Caché L1)
También llamada memoria interna, se encuentra en el núcleo del
microprocesador. Es utilizada para acceder a datos importantes y de uso
frecuente, es el nivel en el que el tiempo de respuesta es menor. Su
capacidad es de hasta 128 kb. Este nivel se divide en dos:
- Nivel 1 Data Cache: Se encarga de almacenar datos usados frecuentemente y cuando sea necesario volver a utilizarlos, accede a ellos en muy poco tiempo, por lo que se agilizan los procesos.
- Nivel 1 Instruction Cache: Se encarga de almacenar instrucciones usadas frecuentemente y cuando sea necesario volver a utilizarlas, inmediatamente las recupera, por lo que se agilizan los procesos.
Memoria caché nivel 2 (Caché L2)
Se encarga de almacenar datos de uso frecuente. Es más lenta que la
caché L1, pero más rápida que la memoria principal (RAM). Se encuentra
en el procesador, mas no es su núcleo. Genera una copia del nivel 1. Su
capacidad es de hasta 1 Mb.
- Caché Exclusivo: Los datos solicitados se eliminan de la memoria caché L2.
- Caché Inclusivo: Los datos solicitados se quedan en la memoria caché L2.
Memoria caché nivel 3 (Caché L3)
Está memoria se encuentra en algunos procesadores modernos y genera
una copia a la L2. Es más rápida que la memoria principal (RAM), pero
más lenta que L2. En esta memoria se agiliza el acceso a datos e
instrucciones que no fueron localizadas en L1 o L2.
Es generalmente de un tamaño mayor y ayuda a que el sistema guarde
gran cantidad de información agilizando las tareas de el procesador
Fuente: https://datosuno.wordpress.com/unidad-3/memoria-cache/
http://es.wikipedia.org/wiki/Cach%C3%A9_%28inform%C3%A1tica%29
DISEÑO:
Lo primero que hay que decidir en un diseño de caché es la línea de
caché donde se debería almacenar un bloque cargado desde memoria. Pensemos en
un sistema que use direccionamiento de 32 bits. Si el tamaño de un bloque es de
64(2 elevado a 6)bytes, los 6 bits de la parte inferior de la dirección -el
offset- determina a que byte de dentro del bloque se esta direccionando. Si la
caché consta de 1024 de estas líneas de 64 bytes los siguientes 10 bits de la
dirección determina en que línea esta colocado el bloque .
Política de ubicación
Decide dónde debe colocarse un bloque de memoria principal que entra en la memoria caché. Las más utilizadas son:
- 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 caché. Cada bloque de la memoria principal tiene su posición en la caché y siempre en el mismo sitio. Su inconveniente es que cada bloque tiene asignada una posición fija en la memoria caché y ante continuas referencias a palabras de dos bloques con la misma localización en caché, hay continuos fallos habiendo sitio libre en la caché.
- Asociativa: Los bloques de la memoria principal se alojan en cualquier bloque de la memoria caché, comprobando solamente la etiqueta de todos y cada uno de los bloques para verificar acierto. Su principal inconveniente es la cantidad de comparaciones que realiza.
- Asociativa por conjuntos: Cada bloque de la memoria principal tiene asignado un conjunto de la caché, pero se puede ubicar en cualquiera de los bloques que pertenecen a dicho conjunto. Ello permite mayor flexibilidad que la correspondencia directa y menor cantidad de comparaciones que la totalmente asociativa.
Política de extracción
La política de extracción determina cuándo y qué bloque de memoria
principal hay que traer a memoria caché. Existen dos políticas muy
extendidas:
- Por demanda: un bloque sólo se trae a memoria caché cuando ha sido referenciado y no se encuentre en memoria caché.
- Con prebúsqueda: cuando se referencia el bloque i-ésimo de memoria principal, se trae además el bloque (i+1)-ésimo. Esta política se basa en la propiedad de localidad espacial de los programas.
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:
- Aleatoria: el bloque es reemplazado de forma aleatoria.
- FIFO: se usa el algoritmo First In First Out (FIFO) (primero en entrar primero en salir) para determinar qué bloque debe abandonar la caché. Este algoritmo generalmente es poco eficiente.
- Menos recientemente usado (LRU): Sustituye el bloque que hace más tiempo que no se ha usado en la caché, traeremos a caché el bloque en cuestión y lo modificaremos ahí.
- Menos frecuencias usadas (LFU): Sustituye el bloque que ha experimentado menos referencias.
Política de Actualización o Escritura
Determinan el instante en que se actualiza la información en memoria principal cuando se hace una escritura en la memoria caché.
- Escritura Inmediata: Se escribe a la vez en Memoria caché y Memoria principal. Desventaja: genera cuello de botella.
- Escritura Aplazada: Actualiza únicamente la Memoria caché luego de la modificación de sus datos. Cuando el bus de sistema se encuentra libre, actualiza la memoria principal. Esto puede generar que los periféricos lean datos erróneos, pero es poco frecuente.
- Escritura Obligada: Actualiza únicamente la Memoria caché luego de la modificación de sus datos. Cuando no hay otra alternativa, actualiza la memoria principal. Esto puede producirse por cualquiera de estas causas:
- Se accede a la posición de memoria principal modificada en la caché. Antes de permitir la lectura/escritura, debe actualizarse el dato en la memoria principal.
- Debe eliminarse una línea de la caché, entonces se actualiza la memoria principal (en caso de ser necesario) antes de proceder a la eliminación.
¿QUE ES Y PARA QUE SIRVE LA MEMORIA CACHÉ?
La cache es la solución al problema
de rendimiento del sistema de memoria. Es muy pequeña y está incluida
en el interior del micro. Su función es sencilla, conseguir que los
datos más usados estén lo más cerca del procesador para ser accedidos de
la manera más rápida posible.
PARA QUE SIRVE: Se organiza en niveles, de menor a mayor tamaño según lo alejada que esté del micro. Si el procesador necesita un dato de la memoria se comprueba si este se encuentra en el primer nivel. En caso de no encontrarlo, se busca en el segundo nivel y si no en el tercero. Todo se acelera si se colocan los datos más utilizados en los niveles más cercanos al procesador.
Cada uno de estos niveles tiene un bloque de control el cual se encarga de almacenar y poner los datos a disposición del micro. El tiempo que tarda en buscar la información es proporcional al tamaño de la propia memoria que administra.
Fuente: http://computadoras.about.com/od/Preguntas-Frecuentes-elegir-pc/a/Memoria-Cache-Que-Es-Y-Para-Que-Sirve.htm
El funcionamiento de la caché de lectura se parece al de
un adivino; debe anticipar lo que ocurrirá en el futuro. Si el
dispositivo que está siendo cacheado encuentra los datos en la caché,
habrá un éxito
("hit"), en caso contrario, un fracaso ("miss"). Los sistemas de caché
actuales son capaces de proporcionar una tasa de éxitos superior al
90%.
Como puede figurarse el lector, construir un mecanismo
de caché no es una tarea baladí. Se requieren esquemas de
funcionamiento que atiendan de forma simultanea y balanceada diversos
factores:
- Discriminar que información debe ser almacenada y cual descartada.
- Decidir la organización interna de este almacenamiento.
- Manejar las peticiones de lectura. Esto exige
disponer de un mecanismo de intercepción de las peticiones del
dispositivo que está siendo cacheado.
- Manejar las peticiones de escritura. Interceptar las peticiones de escritura del dispositivo a cachear.
INTEL Y AMD MEMORIA CACHÉ:
Tanto Intel como AMD
no han
incluido memoria caché
L2 en algunas series para hacer productos más baratos. Sin embargo, no hay duda
de que cuanto mejor e sla memoria
caché (tanto L1 como L2), más eficiente será la CPU y mayor será su rendimiento.
La caché L2 apareció por primera vez en los Intel Pentum Pro, siendo incorporada a continuación por los Intel Pentium II, aunque en ese caso no en el encapsulado del procesador, sino externamente (aunque dentro del procesador)
La caché L2 apareció por primera vez en los Intel Pentum Pro, siendo incorporada a continuación por los Intel Pentium II, aunque en ese caso no en el encapsulado del procesador, sino externamente (aunque dentro del procesador)
Fuente: http://es.kioskea.net/contents/397-procesador
No hay comentarios:
Publicar un comentario