Memoria cache

MEMORIA CACHE
En informática, una cache o caché (esta última única forma reconocida por la RAE[1] ) 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 el caché. Cuando se accede por primera vez a un dato, se hace una copia en el cache; los accesos siguientes se realizan a dichacopia, haciendo que el tiempo de acceso medio al dato sea menor.
La palabra 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»). A menudo, en español se escribe con tilde sobre la «e» del mismo modo como el que se venía escribiendo con anterioridad al neologismola palabra «caché» («distinción o elegancia» o «cotización de un artista»), proveniente de un étimo también francés, pero totalmente distinto: cachet, (/ka’??/; «sello» o «salario»). La Real Academia Española sólo reconoce la palabra con tilde,[1] aunque en la literatura especializada en Arquitectura de Computadores (como, entre otros, las traducciones de los libros de Andrew S. Tanenbaum, John L.Hennessy y David A. Patterson) se emplea siempre la palabra sin tilde.
Memoria caché o RAM caché
Un caché es un sistema especial de almacenamiento de alta velocidad. Puede ser tanto un área reservada de la memoria principal como un dispositivo de almacenamiento de alta velocidad independiente. Hay dos tipos de caché frecuentemente usados en las computadoras personales: memoria caché y caché dedisco. Una memoria cache, llamada también a veces almacenamiento caché o RAM caché, es una parte de memoria RAM estática de alta velocidad (SRAM) más que la lenta y barata RAM dinámica (DRAM) usada como memoria principal. La memoria cache es efectiva dado que los programas acceden una y otra vez a los mismos datos o instrucciones. Guardando esta información en SRAM, la computadora evita acceder a lalenta DRAM.
Cuando se encuentra un dato en la caché, se dice que se ha producido un acierto, siendo un caché juzgado por su tasa de aciertos (hit rate). Los sistemas de memoria caché usan una tecnología conocida por caché inteligente en la cual el sistema puede reconocer cierto tipo de datos usados frecuentemente. Las estrategias para determinar qué información debe de ser puesta en el cacheconstituyen uno de los problemas más interesantes en la ciencia de las computadoras. Algunas memorias cache están construidas en la arquitectura de los microprocesadores. Por ejemplo, el procesador Pentium II tiene una caché L2 de 512 Kbytes.
La caché de disco trabaja sobre los mismos principios que la memoria caché, pero en lugar de usar SRAM de alta velocidad, usa la convencional memoria principal.Los datos más recientes del disco duro a los que se ha accedido (así como los sectores adyacentes) se almacenan en un buffer de memoria. Cuando el programa necesita acceder a datos del disco, lo primero que comprueba es la cache del disco para ver si los datos ya están ahí. La cache de disco puede mejorar drásticamente el rendimiento de las aplicaciones, dado que acceder a un byte de datos en RAMpuede ser miles de veces más rápido que acceder a un byte del disco duro.
Composición interna
La memoria cache está estructurada por celdas, donde cada celda almacena un byte. La entidad básica de almacenamiento la conforman las filas, llamados también líneas de cache. Por ejemplo, una cache L2 de 512 KB se distribuye en 16.384 filas y 63 columnas
Cuando se copia o se escribe información de laRAM 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.
Diseño
En el diseño de la memoria cache se deben considerar varios factores que influyen directamente en el…