domingo, 7 de marzo de 2004

Memoria Caché

Para qué sirve
Para empezar, digamos que la caché no es sino un tipo de memoria de la computadora; por tanto, en ella se guardarán datos que el ordenador necesita para trabajar. ¿Pero no era eso la RAM?, preguntará usted. Bueno, en parte sí.  A decir verdad, la memoria principal del ordenador (la RAM, los famosos 8, 16, 32 ó 64 "megas") y la memoria caché son básicamente iguales en muchos aspectos; la diferencia está en el uso que se le da a la caché.

Debido a la gran velocidad alcanzada por los microprocesadores desde el 386, la RAM del ordenador no es lo suficientemente rápida para almacenar y transmitir los datos que el microprocesador (el "micro" en adelante) necesita, por lo que tendría que esperar a que la memoria estuviera disponible y el trabajo se tornaria muy lento. Para evitarlo, se usa una memoria muy rápida, estratégicamente situada entre el micro y la RAM: la memoria caché.


Ésta es la memoria caché: es muy rápida. ¿Cuánto es "muy rápida"?. Bien, unas 5 o 6 veces más que la RAM. Esto la encarece bastante, claro está, y ése es uno de los motivos de que su capacidad sea mucho menor que el de la RAM: un máximo en torno a 512 kilobytes (512 Kb), es decir, medio "mega", frente a 16 ó 32 megas de RAM. Además, este precio elevado la hace candidata a falsificaciones como los que ocurre en nuestro medio. 



Pero la caché no sólo es rápida; además, se usa con una finalidad específica. Cuando un ordenador trabaja, el micro opera en ocasiones con un número reducido de datos, pero que tiene que traer y llevar a la memoria en cada operación. Si situamos en medio del camino de los datos una memoria intermedia que almacene los datos más usados, los que casi seguro necesitará el micro en la próxima operación que realice, se ahorrará mucho tiempo del tránsito y acceso a la lenta memoria RAM; esta es la segunda utilidad de la caché

Para los que tengan curiosidad por ver cómo es la caché (aunque en ocasiones no resulta fácil de reconocer, por venir encapsulada en algún tipo de chip de control o toda junta en un único chip), la figura anterior muestra chips de memoria caché.

El tamaño de la caché
Leído lo anterior, usted pensará: pues cuanto más grande, mejor. Cierto, pero no; o más bien, casi siempre sí. Aunque la caché sea de mayor velocidad que la RAM, si usamos una caché muy grande, el micro tardará un tiempo apreciable en encontrar el dato que necesita. Esto no sería muy importante si el dato estuviera allí, pero ¿y si no está? Entonces habrá perdido el tiempo, y tendrá que sumar ese tiempo perdido a lo que tarde en encontrarlo en la RAM.

Por tanto, la caché actúa como un resumen, una parte de los datos de la RAM, y todos sabemos que un resumen de 500 páginas no resulta nada útil. Se puede afirmar que, para usos normales, a partir de 1 MB (1024 Kb) la caché resulta ineficaz, e incluso pudiera llegar a ralentizar el funcionamiento del ordenador. El tamaño idóneo depende del de la RAM.

Se debe hacer notar que muchos "chipsets" para Pentium, como los conocidos lntel "Tritón" VX o TX, no permiten cachear más de 64 MB de RAM; es decir, que a partir de esta cifra, ES COMO SI NO EXISTIERA CACHE EN ABSOLUTO (0 Kb!!).

Así que si necesita instalar más de 64 MB en una placa para Pentium, busque una placa que permita cachear más de esa cifra (como algunas -no todas-Ias que tienen chipsets "Tritón" HX).


La caché interna
La caché a la que nos hemos referido hasta ahora es la llamada "caché externa" o de segundo nivel (L2). Existe otra, cuyo principio básico es el mismo, pero que está incluida en el interior del micro; de ahí lo de interna, o de primer nivel (L1).

Esta caché funciona como lo externa, sólo que está más cerca del micro, es más rápida y más cara, además de complicar el diseño del micro, por lo que su tamaño se mide en pocas decenas de kilobytes. Se incorporó por primera vez en los micros 486, y por aquel entonces era de 8 Kb (aunque algunos 486 de Cyrix tenían sólo 1 Kb). Hoy en día se utilizan 32 ó 64 Kb, aunque seguro que pronto alguien superará esta cifra.

La importancia de esta caché es fundamental; por ejemplo, los Pentium MMX son más rápidos que los Pentium normales en aplicaciones no optimizadas para MMX, gracias a tener el doble de caché interna. A decir verdad.


La caché de los Pentium
Puede que haya oido hablar de que los Pentium (y su antecesor el extinto Pentium Pro) tienen 512 Kb de caché interna; esto es inexacto, cuando no una "confusión interesada" por parte de lntel y los vendedores. Los Pentium II tienen 64 Kb de caché interna, y 512 Kb de caché dentro del cartucho SEC pero externa al encapsulado del microchip.

Este contrasentido se explica si se ve un Pentium II,III, IV como el de la siguiente figura:


 
Dentro de la cajita negra encontramos una placa de circuito en la que va soldado el micro en sí (en el centro de la figura anterior), junto con varios chips que forman la caché, externa a lo que es propiamente el micro. Sin embargo, esta caché funciona a una frecuencia que es la mitad de la del micro (es decir, a 116, 133 MHz o más), y no a la de la placa base como la caché externa clásica (de 50 a 66 MHz en los Pentium o 100 MHz en los AMD K6-2).

Los que casi pueden presumir de tener una gran caché interna son los Celeron (no los Celeron normales, que carecen de caché L2 en absoluto). Estos micros tienen sus 128 Kb de caché L2. integrada en el propio encapsulado del micro y la hacen funcionar a la misma velocidad que éste, de forma que no llega a ser tan rápida como la caché L1 pero sí lo bastante como para permitirles competir con los Pentium II e incluso con los Pentium III pese a tener sólo la cuarta parte de caché.

Digamos, en fin, que los Pentium II y los Celeron tienen una caché interna y una semi-externa, lo cual no es poco mérito en absoluto; pero las cosas son como son, mal que le pese a los magos de la publicidad.



Espero haber ayudado en algo. Hasta la próxima oportunidad!

No hay comentarios:

Publicar un comentario en la entrada