FUNCIONAMIENTO DE MEMORIA CACHE

Una caché de memoria se carga (desde la RAM) con los datos y/o instrucciones que ha buscado la CPU en las últimas operaciones. La CPU buscará siempre primero la información en la caché, y la encontrará allí la mayoría de las veces, con lo que el acceso será muy rápido. Si, desgraciadamente, no se encuentra la información en la caché, se perderá un tiempo extra en acudir a la RAM y copiar dicha información en la caché para que esté disponible. Como estos fallos ocurren con una frecuencia relativamente baja, el rendimiento mejora considerablemente, ya que la CPU accederá más veces a la caché que a la RAM. Lo comentado para la búsqueda en memoria funciona de forma análoga para la escritura: la CPU escribe en la caché en lugar de la RAM (más adelante hablaremos de dicho proceso con mayor detalle).


Operación de lectura empleando cahé. Si la CPU desea buscar la instrucción X (situada en cierta posición de la RAM), intentará hallar primero dicha instrucción en la caché. Si la encuentra allí, el acceso será rápido (caso B). Si no la encuentra, se añade un retraso extra al buscar la instrucción en la RAM y copiarla en la caché.

La mayoría de programas tiene un alto contenido en bucles, lo que implica un uso repetido de instrucciones (e incluso datos). Lo que implica una alta probabilidad de acierto al buscar la información en la caché.

Una forma interesante de ilustrar el funcionamiento de la caché consiste en imaginar un videoclub, equipado con un mostrador y una habitación capaz de almacenar cientos de vídeos. Ante la petición de cada cliente, el dependiente deberá acudir hasta el almacén, buscar la película solicitada, volver al mostrador y entregar la cinta al cliente. Ante la devolución de una cinta, el dependiente debe caminar hacia el almacén y guardar dicha cinta en el lugar apropiado.

Realmente esa forma de trabajo no es nada eficiente, ya que implica demasiados desplazamientos y, por tanto, la atención al cliente será realmente lenta.

Suponga ahora que el dependiente dispone de un pequeño archivador de 20 vídeos sobre el mostrador. Cuando un cliente devuelve una cinta, el dependiente coloca la cinta directamente en el archivador, en lugar de caminar hacia el almacén. Si se va repitiendo dicho proceso, el dependiente dispondrá continuamente de las veinte últimas películas devueltas en el archivador. Cuando se acerque un cliente y pida una película, el dependiente la buscará primero en el archivador, y sólo si no la encuentra allí se desplazará hacia el almacén. Este método funciona, sobre todo porque la mayor parte de las películas devueltas serán las de estreno, que al mismo tiempo son las más solicitadas.


Niveles de caché


Un PC incorpora varios tipos de caché. Pero, ¿de qué forma están organizados? Usualmente, los diferentes sistemas de caché se organizan por niveles, formando una jerarquía. En general se cumple que, a mayor cercanía a la CPU, se presenta mayor velocidad de acceso y menor capacidad de almacenamiento.



Niveles de caché. Nótese que incluso el disco duro se puede emplear como caché para otros dispositivos (como los CD-ROM) y aplicaciones (como los navegadores Web).



La caché de memoria se suele desglosar en dos niveles. En el nivel más cercano a la CPU se encuentra la caché L1 (level 1 o nivel 1). Ésta se halla integrada en el mismo chip que la CPU, con lo que el acceso se produce a la velocidad de trabajo del procesador (la máxima velocidad). Por supuesto, la caché L1 presenta un tamaño muy reducido (de 4 a 16 kB). A continuación aparece la caché de nivel 2 o L2. Inicialmente, se instalaba en la placa base, en el exterior de la CPU. Los procesadores actuales la integran en el propio chip. Como era de esperar, tiene mayor capacidad que la caché L1 (de 128 a 512 kB) pero es una memoria más lenta. Por ejemplo, en el procesador Pentium II la velocidad de acceso era la mitad respecto a la caché L 1. El siguiente nivel lo constituye la memoria RAM, que ya tratamos en la anterior entrega. Como ya hemos comentado, la RAM suele hacer de caché para los dispositivos de almacenamiento y otros tipos de periféricos. El nivel más alto lo ocuparían las caché en disco duro, como son las utilizadas por los navegadores Web.

La búsqueda de información comienza por la caché L1, y se va subiendo nivel a nivel en caso de no encontrar lo que se busca en el nivel actual. Por supuesto, cuantas más capas haya que ascender, mayor retardo se pagará. Pero, a mayor cercanía a la CPU, la probabilidad de encontrar lo que se busca es mayor. Esta forma de trabajo resulta una excelente relación de compromiso entre diversos factores, y consigue mejorar el rendimiento del ordenador de forma notable.

No hay comentarios:

Publicar un comentario

Deja un Comentario valorando la informacion,... y toma en cuenta la utilidad que tuvo para ti.