miércoles, 23 de noviembre de 2011

La Memoria Caché

QUE ES LA MEMORIA CACHE EN UN PROCESADOR.

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.

La utilización de la memoria caché se describe a continuación:
  • Acelerar el procesamiento de las instrucciones de memoria en la CPU.
  • Los ordenadores 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 del ordenador.
La memoria caché se carga desde la RAM con los datos y/o instrucciones que ha buscado la CPU en las últimas operaciones. La CPU siempre busca primero la información en la caché, lo normal es que va encontrar ahí la mayoría de las veces, con lo que el acceso será muy rápido. Pero si no encuentra la información en la caché, se pierde un tiempo extra en acudir a la RAM y copiar dicha información en la caché para su disponibilidad.
Como estos fallos ocurren con una frecuencia relativamente baja, el rendimiento mejora considerablemente, ya que la CPU accede más veces a la caché que a la RAM. En el siguiente diagrama se describe un proceso cuando la CPU requiere operación de lectura de una instrucción, para ello se presentan dos casos:


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.

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):

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 3er nivel (L3):

Es un tipo de memoria caché más lenta que la L2, muy poco utilizada en la actualidad.

En un principio esta caché estaba incorporada a la placa base, no al procesador, y su velocidad de acceso era bastante más lenta que una caché de nivel 2 o 1, ya que si bien sigue siendo una memoria de una gran rapidez (muy superior a la RAM, y mucho más en la época en la que se utilizaba), depende de la comunicación entre el procesador y la placa base.

Para hacernos una idea más precisa de esto, imaginemos en un extremo el procesador y en el otro la memoria RAM. Pues bien, entre ambos se encuentra la memoria caché, más rápida cuanto más cerca se encuentre del núcleo del procesador (L1).
Las memorias caché son extremadamente rápidas (su velocidad es unas 5 veces superior a la de una RAM de las más rápidas), con la ventaja añadida de no tener latencia, por lo que su acceso no tiene ninguna demora... pero es un tipo de memoria muy cara.
Esto, unido a su integración en el procesador (ya sea directamente en el núcleo o no) limita bastante el tamaño, por un lado por lo que encarece al procesador y por otro por el espacio disponible.

En cuanto a la utilización de la caché L2 en procesadores multinucleares, existen dos tipos diferentes de tecnologías a aplicar.

Por un lado está la habitualmente utilizada por Intel, que consiste en que el total de la caché L2 está accesible para ambos núcleos y por otro está la utilizada por AMD, en la que cada núcleo tiene su propia caché L2 dedicada solo para ese núcleo.

La caché L2 apareció por primera vez en los Intel Pentium 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).


Imagen de un P-II, en la que se puede observar los chips de la caché L2.

No hay comentarios:

Publicar un comentario