La memoria caché es una clase de memoria RAM estática (SRAM) de acceso aleatorio y alta velocidad, situada entre el CPU y la RAM. Se presenta de forma temporal y automática para el usuario, y le proporciona acceso rápido a los datos de uso más frecuente.
La ubicación de la caché entre el microprocesador y la RAM, hace que sea suficientemente rápida para almacenar y transmitir los datos que el microprocesador necesita recibir casi instantáneamente. Aunque como su capacidad es mucho menor que la RAM los datos de la caché son reemplazados constantemente, en teoría, solo los datos más comúnmente usados permanecerán por periodos más largos.
Las funciones de la caché son las siguientes:
• Acelerar el procesamiento de las instrucciones de memoria en la CPU.
• Las computadoras tienden a utilizar las mismas instrucciones y (en menor medida), los mismos datos repetidamente, por ello la caché contiene las instrucciones más usadas.
• Por lo tanto, a mayor instrucciones y datos la CPU pueda obtener directamente de la memoria caché, tanto más rápido será el funcionamiento de la computadora.
Una memoria caché es una memoria en la que se almacena 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). Básicamente, la memoria caché de un procesador es un tipo de memoria volátil (del tipo RAM), pero de una gran velocidad.
La ubicación de la caché entre el microprocesador y la RAM, hace que sea suficientemente rápida para almacenar y transmitir los datos que el microprocesador necesita recibir casi instantáneamente. Aunque como su capacidad es mucho menor que la RAM los datos de la caché son reemplazados constantemente, en teoría, solo los datos más comúnmente usados permanecerán por periodos más largos.
Las funciones de la caché son las siguientes:
• Acelerar el procesamiento de las instrucciones de memoria en la CPU.
• Las computadoras tienden a utilizar las mismas instrucciones y (en menor medida), los mismos datos repetidamente, por ello la caché contiene las instrucciones más usadas.
• Por lo tanto, a mayor instrucciones y datos la CPU pueda obtener directamente de la memoria caché, tanto más rápido será el funcionamiento de la computadora.
Una memoria caché es una memoria en la que se almacena 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). Básicamente, la memoria caché de un procesador es un tipo de memoria volátil (del tipo RAM), pero de una gran velocidad.
En informática, es un tipo de memoria que se coloca entre la memoria principal y la CPU y que acelera el funcionamiento del ordenador o computadora, ya que permite ejecutar instrucciones y leer y escribir datos a una gran velocidad. Se denomina también CPU caché. Es un banco de memoria especial, a diferencia de la caché de disco, que es una parte de la memoria RAM del ordenador.
Hay tres tipos diferentes de memoria caché para procesadores:
Caché de 1er nivel (L1):
Esta caché está integrada en el núcleo del procesador, trabajando a la misma velocidad que este. La cantidad de memoria caché L1 varía de un procesador a otro, estando normalmente entra los 64KB y los 256KB. Esta memoria suele a su vez estar dividida en dos partes dedicadas, una para instrucciones y otra para datos.
Caché de 2º nivel (L2):Esta caché está integrada en el núcleo del procesador, trabajando a la misma velocidad que este. La cantidad de memoria caché L1 varía de un procesador a otro, estando normalmente entra los 64KB y los 256KB. Esta memoria suele a su vez estar dividida en dos partes dedicadas, una para instrucciones y otra para datos.
Integrada también en el procesador, aunque no directamente en el núcleo de este, tiene las mismas ventajas que la caché L1, aunque es algo más lenta que esta. La caché L2 suele ser mayor que la caché L1, pudiendo llegar a superar los 2MB. A diferencia de la caché L1, esta no está dividida, y su utilización está más encaminada a programas que al sistema.
Caché de 3º nivel (L3):
Esta memoria es un tercer nivel que soportan principalmente los procesadores de la firma AMD®. Con este nivel de memoria se agiliza el acceso a datos e instrucciones que no fueron localizadas en L1 ó L2. Si no se encuentra el dato en ninguna de las 3, entonces se accederá a buscarlo en la memoria RAM.
La memoria caché funciona de la siguiente manera:

• Si no los encuentra en la caché, traerá una copia de esos datos de la RAM a la CPU y también realizará una copia en la memoria caché.
• La próxima vez que los necesita, los irá a buscar a la memoria caché, de donde los podrá extraer más rápidamente.
• El último bloque de datos leído desde la RAM también se copia en la memoria caché. Este bloque es, con mucha probabilidad, el mismo que se necesitará en la próxima lectura de datos.
Mapeo
Al pasar los datos desde la memoria principal a la memoria caché estos se traen por bloques. El motivo de llevar los datos por bloques se debe a que, por ejemplo, si el procesador pide el dato de la dirección entonces es muy probable que después pida el dato de la dirección n+1, por lo tanto, se ahorra tiempo al llevar los datos por bloques a la caché. Por otro lado la memoria caché es de poca capacidad, en relación con la memoria principal, por lo tanto cobra importancia el tema de que y como poner datos en la memoria caché. Es necesario entonces contar con un proceso de conversión de las direcciones, que se llama mapeo y se clasifica de la siguiente manera:
• Mapeo Directo
• Mapeo Asociativo (totalmente asociativo)
• Mapeo Asociativo por conjunto
Caché de mapeo directo
Esta técnica permite una búsqueda muy rápida, ya que cada posición de RAM sólo puede estar en una determinada línea. Sin embargo, la probabilidad de encontrar la información buscada es mínima.
Ventajas: Este método es rápido, fácil de implementar y sencillo de usar.
Desventajas: Con este sistema se produce un efecto llamado Contención que se produce cuando dos cosas quieren usar un mismo elemento. Este efecto reduce drásticamente el rendimiento del procesador.
Caché completamente asociativa

Cada línea de caché se puede llenar con cualquier grupo de posiciones de la memoria RAM. En este caso, el porcentaje de acierto es máximo. En cambio, el tiempo de acceso es muy elevado, puesto que una posición de RAM puede estar en cualquier línea de caché (esto es lento, incluso empleando algoritmos de búsqueda avanzados).
Caché asociativa por conjuntos
La caché se divide en conjuntos de N líneas, a cada conjunto se le asocia un grupo de posiciones de RAM. Dentro del conjunto asignado, una posición de RAM puede ir a parar a cualquiera de las N líneas que lo forman, es decir dentro de cada conjunto la caché es totalmente asociativa. Esta situación es la más equilibrada, puesto que se trata de un compromiso entre las técnicas anteriores. Si se hace N=1, se tiene una caché. De mapeo directo. Si N es igual al número de líneas de la caché, se tiene una caché completamente asociativa. Si se escoge un valor de N apropiado, se alcanza la solución óptima.
Normalmente, la caché L2 es de mapeo directo, mientras que la caché L1 es asociativa por conjuntos de N líneas.