lunes, 17 de junio de 2013

6 CUÁL ES LA FUNCIÓN PRINCIPAL DE LA MEMORIA CACHÉ Y CUANTOS TIPOS DE CACHÉ HAY

Una memoria caché es una memoria en la que se almacenas una serie de datos para su rápido acceso. Existen muchas memorias sistema, incluso de datos, como es caché (de disco, de 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 llamado caché, los cuales almacenan estos datos de forma duplicada. La memoria caché contenida dentro de una CPU memoria RAM o memoria principal de la computadora, y es por esta razón que mejora la capacidad de procesamiento del mismo.
TIPOS:
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). 

  Tipos de cache

Desde el punto de vista del hardware, existen dos tipos de memoria cache; interna externa.  La primera, denominada también cache primariacaché de nivel 1 o simplemente caché L1 (Level one) La segunda se conoce también como cache secundariacache de nivel 2 cache L2 
Desde el punto de vista funcional, existen cachés específicas de algunos dispositivos, por ejemplo, de disco. También se distingue entre caché de lectura y de escritura.

§2.1  Caché interna
Es una innovación relativamente reciente [3]; en realidad son dos, cada una con una misión específica:  Una para datos y otra para instrucciones.  Están incluidas en el procesador junto con su circuitería de control, lo que significa tres cosas:  comparativamente es muy cara; extremadamente rápida, y limitada en tamaño (en cada una de las cachés internas, los 386 tenían 8 KB; el 486 DX4 16 KB, y los primeros Pentium 8 KB).  Como puede suponerse, su velocidad de acceso es comparable a la de los registros, es decir, centenares de veces más rápida que la RAM.
§2.2  Caché externa
Es más antigua que la interna, dado que hasta fecha "relativamente" reciente estas últimas eran impracticables.   Es una memoria de acceso rápido incluida en la placa base, que dispone de su propio bus y controlador independiente que intercepta las llamadas a memoria antes que sean enviadas a la RAM ( H2.2  Buses locales).
La caché externa típica es un banco SRAM ("Static Random Access Memory") de entre 128 y 256 KB. 

Esta memoria es considerablemente más rápida que la DRAM ("Dynamic Random Access Memory") convencional, aunque también mucho más cara [5] (tenga en cuenta que un aumento de tamaño sobre los valores anteriores no incrementa proporcionalmente la eficacia de la memoria caché).  Actualmente (2004) la tendencia es incluir esta caché en el procesador.  Los tamaños típicos oscilan entre 256 KB y 1 MB

 Caché de disco
Además de las anteriores, que son de propósito general, existe una caché de funcionalidad específica que se aloja en memoria RAM estándar. Es la caché de disco (nos hemos referido a ella en la introducción de este epígrafe), destinada a contener los datos de disco que probablemente sean necesitados en un futuro próximo y los que deben ser escritos.  Si la información requerida está en chaché, se ahorra un acceso a disco, lo que es centenares de veces más rápido (recuerde que los tiempos de acceso a RAM se miden en nanosegundos y los de disco en milisegundos 

§3.1  Caché de disco en MS DOS y  Windows
La cache de los sistemas MS DOS y de los primeros sistemas Windows se denominaba SmartDrive.  Por su parte, los nuevos Sistemas de 32 bits disponen de un controlador virtual denominado VCACHE que utiliza un 

5  Caché oportunista

Existe un tipo especial que podríamos considerar "de aplicación", denominada caché oportunista("Opportunistic cache").  Está relacionada con los problemas de bloqueos de ficheros en entornos multiusuario en los que distintas aplicaciones pueden acceder a los mismos datos

No hay comentarios:

Publicar un comentario en la entrada